Beruflich Dokumente
Kultur Dokumente
class Node
{
protected int data;
protected Node link;
public Node()
{
data=0;
link=null;
}
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; }
}
public class linkedList
{
public Node start;
public int size;
public linkedList()
{
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);
}
size++;}
public boolean delete(int val)
{
boolean res=false;
if(start.getData()==val)
{
start=start.getLink();
res=true;
}
else
{
Node ptr,save;
save=start;
ptr=start.getLink();
while(ptr!=null)
{
if(ptr.getData()==val)
{
Node nxt=ptr.getLink();
save.setLink(nxt);
res=true;
break;
}
else
{
save=ptr;
ptr=ptr.getLink();
}
}
}
if(res==true)
size--;
return res;}
public void search(int val)
{
Node ptr=start;
int pos=1;
while(ptr!=null)
{
if(ptr!=null)
{
if(ptr.getData()==val)
{
System.out.println("Item "+val+" found at position "+pos);
break;
}
else
{
ptr=ptr.getLink();
pos++;
}
}
if(ptr==null)
{
System.out.println("Item"+val+"is not in the list.");
}
}
}
public void Reverse()
{
Node fp=start,lp=null,save,ptr;
int tmp, n=size/2;
for(int a=0;a<n;++a)
{
save=ptr=start;
while(ptr != lp)
{
save=ptr;
ptr=ptr.getLink();
}
lp=save;
tmp=fp.getData();
fp.setData(lp.getData());
lp.setData(tmp);
fp=fp.getLink();
}
}
public void display()
{
Node ptr=start;
while(ptr.getLink()!=null)
{
System.out.print(ptr.getData()+"---->");
ptr=ptr.getLink();
}
System.out.print(ptr.getData()+"!!!!");
System.out.println();
}
}
import java.io.*;
public class Link_list_test
{
public static void main()throws IOException
{
linkedList s=new linkedList();
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
while(true)
{
System.out.println("Enter your choice");
System.out.println("Enter 1. to insert");
System.out.println("Enter 2. to delete");
System.out.println("Enter 3. to Display");
System.out.println("Enter 4. to search");
System.out.println("Enter 5. to reverse the list");
System.out.println("Enter 6. to exit");
int ch=Integer.parseInt(br.readLine());
if(ch==1)
{
System.out.print("Enter a number: ");
int n=Integer.parseInt(br.readLine());
s.insert(n);
System.out.println("The inserted element is: "+n);
}
else if(ch==2)
{
System.out.print("Enter the number to be deleted:");
int val=Integer.parseInt(br.readLine());
boolean res=s.delete(val);
if(res==true)
System.out.println(val+" Deleted successfully. ");
else
System.out.println("Sorry no such node available!!");
}
else if(ch==3)
{
System.out.println("Your Linked List is as follows:");
s.display();
}
else if(ch==4)
{
System.out.print("Enter the number to be searched: ");
int v=Integer.parseInt(br.readLine());
s.search(v);
}
else if(ch==5)
{
System.out.println("Previous list:");
s.display();
s.Reverse();
System.out.println("Reversed list:");
s.display();
}
else if(ch==6)
break;
else
System.out.println("Sorry no option for your choice");
}
}
}
SAMPLE OUTPUT