Friday, October 25, 2013

DOUBLY LINKED LIST IN JAVA

/*
TOPIC: DOUBLY LINKED LIST.
DATE:30/8/2012

*/
import java.io.*;
class node
{
Object element;
node next,prev;
node(){this(null,null,null);}
node(Object e,node p,node n)
{
element=e;
prev=p;
next=n;
}
void setElement(Object e){element=e;}
void setNext(node n)
{
next=n;
}
void setPrev(node p)
{
prev=p;
}
Object getElement()
{
return element;
}
node getNext()
{
return next;
}
node getPrev()
{
return prev;
}

}
class dl
{
node head,tail;
int size;
dl()
{
head=new node("head",null,null);
tail=new node("tail",null,null);
head.setNext(tail);
tail.setPrev(head);
size=0;
}
boolean isEmpty()
{
return (head.next==tail);
}
void insertpos(Object o,int pos)
{node temp=head;
for(int i=0;i<pos;i++)
temp=temp.next;

node t=new node(o,null,null);
node opam=temp;
t.next=temp.next;

temp.next.prev=t;
temp.next=t;
t.prev=temp;


}
void insert(Object o)throws Exception
{ node temp=head.next;
node d=new node(o,null,null);
head.next.prev=d;
head.next=d;
d.prev=head;
d.next=temp;
size++;
}
void insertm(Object o)throws Exception
{ node temp=head.next.next;
node d=new node(o,null,null);
head.next.next.prev=d;
head.next.next=d;
d.prev=head.next;
d.next=temp;
size++;
}
void remove() throws Exception
{
if(isEmpty())
throw new Exception("dl is empty");
System.out.print("the removed element is "+head.next.element);
System.out.println();
head.next=head.next.next;
head.next.prev=head;
}
void removem() throws Exception
{
if(isEmpty())
throw new Exception("dl is empty");
System.out.print("the removed element is "+head.next.next.element);
System.out.println();
head.next.next=head.next.next.next;
head.next.next.prev=head.next;
}

void removepos(int pos) throws Exception
{
if(isEmpty())
throw new Exception("dl is empty");
node temp=head;
for(int i=0;i<pos;i++)
temp=temp.next;
System.out.print("the removed element is "+temp.next.element);
System.out.println();
temp.next=temp.next.next;
temp.next.prev=temp;
}
void display()
{
node t=head;
for(int i=0;t!=null;i++)
{
System.out.print(t.element+" ");
t=t.next;
}
}
public static void main(String args[]) throws Exception
{
dl d=new dl();
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
int ch;
PrintStream p=System.out;

one: for(int i=10;i>0;i++)
{
p.println("1>INSERT");

p.println("2>REMOVE");
p.println("3>DISPLAY");
p.println("4>EXIT");

p.println("5>ISEMPTY");
p.println("6>insert middle");

p.println("7>delete middle");

p.println("8>insert pos");
p.println("9>remove pos");
ch=Integer.parseInt(br.readLine());
switch (ch)
{
case 1:
Object o;
p.println("enter object");
o=br.readLine();
d.insert(o);
break;
case 2:
d.remove();
break;
case 3:
d.display();
break;
case 4:
break one;
case 5:
p.println("isEmpty status:  "+d.isEmpty());
break;

case 6:

p.println("enter object");
o=br.readLine();
d.insertm(o);
break;
case 7:

d.removem();break;

case 8:

p.println("enter object");
o=br.readLine();
p.println("enter postion");
int pos=Integer.parseInt(br.readLine());

d.insertpos(o,pos);
break;

case 9:
p.println("enter postion");
pos=Integer.parseInt(br.readLine());

d.removepos(pos);
break;
}
}
System.out.println("thank u coded by TG");
}
}
/*
OUTPUT:
java dl
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
8>remove pos
1
enter object
22
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
8>remove pos
1
enter object
44
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
8>remove pos
1
enter object
22
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
8>remove pos
1
enter object
65
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
8>remove pos
8
enter object
1
enter postion
1
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
8>remove pos
9
enter postion
3
the removed element is 65the removed element is 65the removed element is 65
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
8>remove pos
bash-3.00$ javac dl.java
bash-3.00$ java dl
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
1
enter object
22
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
1
enter object
98
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
1
enter object
65
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
1
enter object
45
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
9
enter postion
2
the removed element is 98
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
3
head    45      65      22      tail    1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
8
enter object
3
enter postion
3
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
1
enter object
55
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
3
head    55      45      65      22      3       tail    1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
9
enter postion
1
the removed element is 45
1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
3
head    55      65      22      3       tail    1>INSERT
2>REMOVE
3>DISPLAY
4>EXIT
5>ISEMPTY
6>insert middle
7>delete middle
8>insert pos
9>remove pos
4
thank u coded by TG.
*/

No comments:

Post a Comment