share

Saturday, 17 January 2015

How to create Linklist In Java

package linklist;

import java.util.Scanner;
/*  Class Node  */

class Node1

{

    protected int data;

    protected Node1 link;

     /*  Constructor  */
    public Node1()

    {
        link = null;

        data = 0;
    }   
    /*  Constructor  */
    public Node1(int d,Node1 n)
    {

        data = d;

        link = n;

    }   

    /*  Function to set link to next Node  */

    public void setLink(Node1 n)

    {

        link = n;

    }   

    /*  Function to set data to current Node  */

    public void setData(int d)

    {

        data = d;

    }   

    /*  Function to get link to next node  */

    public Node1 getLink()

    {

        return link;

    }   

    /*  Function to get data from current Node  */

    public int getData()

    {

        return data;

    }

}


class linkedList1

{

    protected Node1 start;

    protected Node1 end ;

    public int size ;



    /*  Constructor  */

    public linkedList1()

    {

        start = null;

        end = null;

        size = 0;

    }

    /*  Function to check if list is empty  */

    public boolean isEmpty()

    {

        return start == null;

    }

    /*  Function to get size of list  */

    public int getSize()

    {

        return size;

    }   

    /*  Function to insert an element at begining  */

    public void insertAtStart(int val)

    {

        Node1 nptr = new Node1(val, null);   

        size++ ;   

        if(start == null)

        {

            start = nptr;

            end = start;

        }

        else

        {

            nptr.setLink(start);

            start = nptr;

        }

    }

    /*  Function to insert an element at end  */

    public void insertAtEnd(int val)

    {

        Node1 nptr = new Node1(val,null);   

        size++ ;   

        if(start == null)

        {

            start = nptr;

            end = start;

        }

        else

        {

            end.setLink(nptr);

            end = nptr;

        }

    }


    public void display()

    {

        System.out.print("\nSingly Linked List = ");

        if (size == 0)

        {

            System.out.print("empty\n");

            return;

        }   

        if (start.getLink() == null)

        {

            System.out.println(start.getData() );

            return;

        }

        Node1 ptr = start;

        System.out.print(start.getData()+ "->");

        ptr = start.getLink();

        while (ptr.getLink() != null)

        {

            System.out.print(ptr.getData()+ "->");

            ptr = ptr.getLink();

        }

        System.out.print(ptr.getData()+ "\n");

    }

}



/*  Class SinglyLinkedList  */

public class create_list

{   

    public static void main(String[] args)

    {            

        Scanner scan = new Scanner(System.in);

        /* Creating object of class linkedList */

        linkedList1 list = new linkedList1();

        System.out.println("Singly Linked List Test\n");         

        char ch;

        /*  Perform list operations  */

        do

        {

            System.out.println("\nSingly Linked List Operations\n");

            System.out.println("1. insert at begining");

            System.out.println("5. check empty");

            System.out.println("6. get size");           

            int choice = scan.nextInt();           

            switch (choice)

            {

            case 1 :

                System.out.println("Enter integer element to insert");

                list.insertAtStart( scan.nextInt() );                    

                break;                         

            case 5 :

                System.out.println("Empty status = "+ list.isEmpty());

                break;                  

            case 6 :

                System.out.println("Size = "+ list.getSize() +" \n");

                break;                        

             default :

                System.out.println("Wrong Entry \n ");

                break;  

            }

            /*  Display List  */

            list.display();

            System.out.println("\nDo you want to continue (Type y or n) \n");

            ch = scan.next().charAt(0);                       

        } while (ch == 'Y'|| ch == 'y');              

    }

}

1 comment: