Tuesday, November 16, 2010

Singe linklist program using java

/* link list class */
import java.io.*;
class linklist
    {
        node start;
        linklist()
            {
                start=null;  
            }
        public void addbeg(int d)
            {
                node no=new node(d);
                if(start == null)
                    {
                        start=no;
                    }
                else
                    {
                        no.next=start;
                        start=no;
                    }
            }
        public void addend(int d)
            {
                node no=new node(d);
                if(start == null)
                    {
                        start=no;
                    }
                else
                    {
                        node temp;
                        temp=start;
                        while(temp.next!=null)
                            {
                                temp=temp.next;
                            }
                        temp.next=no;
                    }
            }
        public void addanywhere(int d,int pos)
            {
                node temp=new node();
                temp=start;
                int c=0;
                while(temp!=null)
                    {
                        c=c+1;
                        temp=temp.next;
                    }
                if(pos>c)
                    System.out.println("Invalid postion number....");
                else
                    {
                        temp=start;
                        for(int i=1;i<pos-1;i++)
                            {
                                temp=temp.next;
                            }
                        node no=new node(d);
                        no.next=temp.next;
                        temp.next=no;
                    }
            }
        public void displaylist()
            {
                node temp=new node();
                temp=start;
                while(temp != null)
                    {
                        System.out.println(temp.data);
                        temp=temp.next;
                    }
            }
        public void deletebeg()
            {
                if(start == null)
                    System.out.println("Sorry no elements....");
                else
                    {
                        System.out.println("Deleted element :-"+start.data);
                        start=start.next;
                    }
            }
        public void deleteend()
            {
                if(start == null)
                    System.out.println("Sorry no elements....");
                else
                    {
                        node prev=new node();
                        node temp=new node();
                        temp=start;
                        while(temp.next!=null)
                            {
                                prev=temp;
                                temp=temp.next;
                            }
                        prev.next=null;
                        System.out.println("Deleted element :-"+temp.data);
                    }
            }
        public void deleteanywhere(int pos)
            {
                if(start == null)
                    System.out.println("Sorry no elements....");
                else
                    {
                        int c=0;
                        node temp1=new node();
                        temp1=start;
                        while(temp1!=null)
                            {
                                c=c+1;
                                temp1=temp1.next;
                            }
                        if(pos>c)
                            System.out.println("Invalid position number....");
                        else
                            {
                                node prev=new node();
                                node temp=new node();
                                temp=start;
                                for(int i=1;i<=pos-1;i++)
                                {
                                    prev=temp;
                                    temp=temp.next;
                                }
                                System.out.println("Deleted element :-"+temp.data);
                                prev.next=temp.next;
                            }
                        }
                }
        public void modify(int pos)throws IOException
            {
                BufferedReader br=new BufferedReader(
                    new InputStreamReader(System.in));
                int ele,c=0;
                if(start == null)
                    System.out.println("Sorry no elements....");
                else
                    {
                        node temp1=new node();
                        temp1=start;
                        while(temp1!=null)
                            {
                                c=c+1;
                                temp1=temp1.next;
                            }
                        if(pos>c)
                            System.out.println("Invalid position number....");
                        else
                            {
                                System.out.print("Enter your choice :-");
                                ele=Integer.parseInt(br.readLine());
                                temp1=start;
                                for(int i=1;i<pos;i++)
                                {
                                    temp1=temp1.next;
                                }
                                temp1.data=ele;
                            }
                     }
            }
        public void search_ele(int ele)
            {
                node temp=new node();
                temp=start;
                int fl=0;
                while(temp != null)
                    {
                        if(ele == temp.data)
                            {
                                fl=1;
                                break;
                            }
                        temp=temp.next;
                    }
                if(fl == 0)
                    System.out.println("Element not found....");
                else
                    System.out.println("Element is found....");
            }
      
    }

/* node class */

class node
    {
        int data;
        node next;
        node(int a)
            {
                data=a;
                next=null;
            }
        node()
            {
                next=null;
            }
    }



/*Working class */

import java.io.*;
class working
    {
        public static void main()throws IOException
            {
                linklist list=new linklist();
                BufferedReader br=new BufferedReader(
                    new InputStreamReader(System.in));
                int ch,ele,pos;
                do
                    {
                        System.out.println("1.Element add at beg");
                        System.out.println("2.Element add at end");
                        System.out.println("3.Element add at anywhere");
                        System.out.println("4.Delete at beg");
                        System.out.println("5.Delete at end");
                        System.out.println("6.Delete anywhere");
                        System.out.println("7.Display list");
                        System.out.println("8.List modify");
                        System.out.println("9.Searching element");
                        System.out.println("10.Exit");
                        System.out.print("Enter your choice :-");
                        ch=Integer.parseInt(br.readLine());
                        switch(ch)
                            {
                                case 1:
                                    System.out.print("Entyer element :-");
                                    ele=Integer.parseInt(br.readLine());
                                    list.addbeg(ele);
                                    break;
                                case 2:
                                    System.out.print("Entyer element :-");
                                    ele=Integer.parseInt(br.readLine());
                                    list.addend(ele);
                                    break;
                                case 3:
                                    System.out.print("Entyer element :-");
                                    ele=Integer.parseInt(br.readLine());
                                    System.out.print("Enter position number for insert:-");
                                    pos=Integer.parseInt(br.readLine());
                                    list.addanywhere(ele,pos);
                                    break;
                                case 4:
                                    list.deletebeg();
                                    break;
                                case 5:
                                    list.deleteend();
                                    break;
                                case 6:
                                    System.out.print("Enter position number for delete:-");
                                    pos=Integer.parseInt(br.readLine());
                                    list.deleteanywhere(pos);
                                    break;
                                case 7:
                                    list.displaylist();
                                    break;
                                case 8:
                                    System.out.print("Enter position number for modify:-");
                                    pos=Integer.parseInt(br.readLine());
                                    list.modify(pos);
                                    break;
                                case 9:
                                    System.out.print("Enter element for searching:-");
                                    ele=Integer.parseInt(br.readLine());
                                    list.search_ele(ele);
                                    break;
                                case 10:
                                    System.out.println("Program end....");
                                    break;
                                default:
                                    System.out.println("Invalid entry....");
                            }
                    }while(ch != 10);
            }
    }

No comments: