Wednesday, May 9, 2012

Linked List Using JAVA


import java.io.*;
 class Node{
     protected int data;
     protected Node link;
   
     public Node(){
         link=null;
         data=0;
        }
        public Node (int d,Node n)
        {
            data=d;
            link=n;
        }
        public void setlink(Node n)
        {
            link=n;
        }
        public void setData(int d)
        {
            data=d;
        }
        public Node getlink()
        {
            return link;
        }
        public int getData(){
            return data;
        }
    }
   

class linklist{
        protected Node start;
        public linklist()
        {
            start=null;
        }
        public boolean isEmpty()
        {
            return start==null;
        }
        public void Insert(int val)
        {
            Node nptr,ptr,save=null;
            nptr=new Node(val,null);
            boolean ins=false;
            if(start==null)
            start=nptr;
            else if(val<=start.getData())
            {
                nptr.setlink(start);
                start=nptr;
            }
            else {
                save=start;
                ptr=start.getlink();
                while(ptr!=null)
                {
                    if(val>=save.getData() && val<=ptr.getData())
                    {
                        save.setlink(nptr);
                        nptr.setlink(ptr);
                        ins=true;
                        break;
                    }
                    else{
                        save=ptr;
                        ptr=ptr.getlink();
                    }
                }
                if(ins==false)
                {
                    save.setlink(nptr);
                }
            }
        }
        public void Traverse()
        {
            Node 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()+".");
            System.out.println();
        }

    public void split(linklist L1,linklist L2)
    {
        Node ptr=start;
        int n=0;
           n=start.getData();
           if(prime(n)==true)
           L1.Insert(n);
           else if(prime(n)==false)
           L2.Insert(n);
            ptr=start.getlink();
            while(ptr.getlink()!=null)
            {
               n=ptr.getData();
               if(prime(n)==true)
               L1.Insert(n);
               else if(prime(n)==false)
               L2.Insert(n);
               ptr=ptr.getlink();
            }
            n=ptr.getData();
            if(prime(n)==true)
            L1.Insert(n);
            else if(prime(n)==false)
            L2.Insert(n);
            System.out.println();
    }
    public boolean prime(int n)
    {
       boolean flag=true;
       for(int i=2;i<n;i++)
       {
           if(n%i==0)
           {
           flag=false;
           break;
        }
    }
    if(flag==true)
    return true;
    else
    return false;
  }      
}
     
   
   


     
       

0 comments:

Post a Comment