Showing posts with label how to create linklist java. Show all posts
Showing posts with label how to create linklist java. Show all posts

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');              

    }

}