Saturday, 13 February 2016

List ADT Using Linked List

import java.util.Scanner;

class ListNode {
    private int data;
    private ListNode link;

    ListNode() {
          data = 0;
          link = null;
    }

    ListNode(int d, ListNode n) {
          data = d;
          link = n;
    }

    public void setLink(ListNode n) {
          link = n;
    }

    public ListNode getLink() {
          return link;
    }

    public int getData() {
          return data;
    }
}

public class ListADT {

    ListNode start;

    ListADT() {
          start = null;
    }

    public void insert(int data) {
          ListNode listNode = new ListNode(data, null);
          listNode.setLink(null);
         
          if(start == null) {
              start = listNode;
              return;
          }

          ListNode ptr = start;

          while(ptr.getLink() != null)
              ptr = ptr.getLink();
          ptr.setLink(listNode);
        listNode.setLink(null);
    }

    public void display() {
          ListNode ptr = start;
          if(start == null) {
              System.out.println(" No Element ");
              return;
          }
          while(ptr != null) {
              System.out.print(" -> " + ptr.getData());
              ptr = ptr.getLink();
        }
    }
   
    public static void main(String[] ar) {

          Scanner input = new Scanner(System.in);

          ListADT listADT = new ListADT();
          System.out.print(" Enter length : ");
          int len = input.nextInt();
         
          for(int i=1; i<=len; i++) {
              System.out.print(" Enter " + i + " element : ");
              int data = input.nextInt();
              listADT.insert(data);
          }
         
          System.out.println("\n List Element : ");
          listADT.display();
    }

}

Output:


No comments:

Post a Comment