Showing posts with label LINKED-LIST. Show all posts
Showing posts with label LINKED-LIST. Show all posts

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.
*/

SINGLY LINKED LIST IN JAVA


/*
TOPIC: SINGLY LINKED LIST
DATE:30/8/2012

*/
import java.io.*;
class node
{
int data;
node next;
public node(int k)
{
data=k;
next=null;
}
}
class LinkedList
{
node start=null;
public boolean empty()
{
if(start==null)
return true;
else return false;
}
public void create(int n)throws Exception
{
node p,q;
for(int i=0;i<n;i++)
{
DataInputStream in=new DataInputStream(System.in);
System.out.println("Enter the DAta::=");
int ele=Integer.parseInt(in.readLine());
p=new node(ele);
if(start==null)
start=p;
else
{
q=start;
while(q.next!=null)
q=q.next;
q.next=p;
}
}
}
public void insertBeg(int ele)
{
node z= new node(ele);
z.next=start;
start=z;
}
public void insertEnd(int ele)
{
node z=new node(ele);
if(start==z);
else
{
node q=start;
while(q.next!=null)
q=q.next;
q.next=z;
}
}
public void insertPos(int ele,int pos)
{
node z=new node (ele);
node q=start;
for(int i=0;i<pos-2;i++)
{
q=q.next;
z.next=q.next;
q.next=z;
}
}
public int deleteBeg()
{
node p=start;
start=start.next;
return p.data;
}
public int deleteEnd()
{
node p,q=start;
if(start.next==null)
{
p=start;
start=null;
}
else
{
while(q.next.next!=null)
q=q.next;
p=q.next;
q.next=null;
}
return p.data;
}
public int deletePos(int pos)
{
node p=null,q=start;
for(int i=0;i<pos-2;i++)
{q=q.next;
p=q.next;
q.next=p.next;}
return p.data;
}
public void display()
{
node q=start;
for(int i=0;q.next!=null;i++)
{
System.out.print(q.data+" ");
q=q.next;
}
System.out.println();
}
}
class StackLink
{
public static void main(String args[])throws Exception
{
int ch,pos,pele;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter the number of elements to be created");
int n=Integer.parseInt(br.readLine());
LinkedList obj=new LinkedList();
obj.create(n);
while(true)
{
System.out.println("1>.insertBeg");
System.out.println("2>.insertEnd");
System.out.println("3>.insertPos");
System.out.println("4>.DeleteBeg");
System.out.println("5>.Deleteend");
System.out.println("6>.Deletepos");
System.out.println("7>.display");
System.out.println("8>.exit");
ch=Integer.parseInt(br.readLine());
if(ch==8)
{System.out.println("thank you...coded by TG");
break;
}switch(ch)
{
case 1:
System.out.println("enter the element to be inserted in begining");
int ele=Integer.parseInt(br.readLine());
obj.insertBeg(ele);
break;
case 2:
System.out.println("enter the element to be inserted in end");
ele=Integer.parseInt(br.readLine());
obj.insertEnd(ele);
break;
case 3:
System.out.println("enter the element to be inserted in pos");
ele=Integer.parseInt(br.readLine());

System.out.println("enter position inserted");
int pos1=Integer.parseInt(br.readLine());
obj.insertPos(ele,pos1);
break;
case 4:
if(obj.empty())
System.out.println("LINKEDLIST IS EMPTY");
System.out.println("deleted element is"+obj.deleteBeg());
break;

case 5:
if(obj.empty())
System.out.println("LINKEDLIST IS EMPTY");
System.out.println("deleted element is"+obj.deleteEnd());
break;


case 6:
if(obj.empty())
System.out.println("LINKEDLIST IS EMPTY");
System.out.println("enter the pos to be deleted");
pos=Integer.parseInt(br.readLine());

System.out.println("deleted element is"+obj.deletePos(pos));
break;

case 7:
if(obj.empty())
System.out.println("LINKEDLIST IS EMPTY");
obj.display();
break;
}
}
}
}
/*
OUTPUT:
enter the number of elements to be created
3
Enter the DAta::=
21
Enter the DAta::=
12
Enter the DAta::=
32
1>.insertBeg
2>.insertEnd
3>.insertPos
4>.DeleteBeg
5>.Deleteend
6>.Deletepos
7>.display
8>.exit
1
enter the element to be inserted in begining
1
1>.insertBeg
2>.insertEnd
3>.insertPos
4>.DeleteBeg
5>.Deleteend
6>.Deletepos
7>.display
8>.exit
2
enter the element to be inserted in end
7
1>.insertBeg
2>.insertEnd
3>.insertPos
4>.DeleteBeg
5>.Deleteend
6>.Deletepos
7>.display
8>.exit
3
enter the element to be inserted in pos
24
enter position inserted
2
1>.insertBeg
2>.insertEnd
3>.insertPos
4>.DeleteBeg
5>.Deleteend
6>.Deletepos
7>.display
8>.exit
7
1       21      12      32
1>.insertBeg
2>.insertEnd
3>.insertPos
4>.DeleteBeg
5>.Deleteend
6>.Deletepos
7>.display
8>.exit
4
deleted element is1
1>.insertBeg
2>.insertEnd
3>.insertPos
4>.DeleteBeg
5>.Deleteend
6>.Deletepos
7>.display
8>.exit
5
deleted element is7
1>.insertBeg
2>.insertEnd
3>.insertPos
4>.DeleteBeg
5>.Deleteend
6>.Deletepos
7>.display
8>.exit
8
thank you...coded by TG
*/

QUEUE USING LINKED LIST IN JAVA.

/*

TOPIC: QUEUE USING LINKED LIST.
DATE:16/8/2012

*/
import java.io.*;
class Node
{
Object element;
Node next;

Node()
{
this(null,null);
}
Node(Object e,Node n)
{
element=e;
next=n;
System.out.println("A node is created");
}
Object getElement()
{
return element;
}
Node getNext()
{
return next;
}
void setElement(Object newEl)
{
element=newEl;
}
void setNext(Node newNext)
{
next=newNext;
}
}
class Queue
{
Node tail;
Node head;
int size;
Queue()
{
this(null,null,0);
}
Queue(Node h,Node t,int size)
{
head=h;
tail=t;
this.size=size;
System.out.println("NEW QUEUE CREATED");
}
void insert(Object obj)
{
Node node=new Node();
node.setElement(obj);
node.setNext(null);
if(size==0)
head=node;
else
tail.setNext(node);
tail=node;
size++;
}
boolean isEmpty()
{
if (size==0)
return true;
else
return false;
}
Object remove() throws Exception
{
Object obj;
if(isEmpty())
throw new Exception("Queue is empty action prohibited");
obj=head.getElement();
head=head.getNext();
size--;
if(isEmpty())
tail=null;
return obj;
}
void display() throws Exception
{
Node q=head;
if(isEmpty())
throw new Exception("cannot display as Queue is empty");
else
{
for(int i=0;q.next!=null;i++)
{
System.out.println(q.getElement());
q=q.next;
}
}
}
void destroy()throws Exception
{
if(isEmpty())
throw new Exception("Queue is empty");
head=null;
tail=null;
size=0;
}
}
class Demo
{
public static void main(String args[])throws Exception
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Node p,z;
p=new Node();
z=new Node();
System.out.println("enter data for head");
Object u=br.readLine();
p.setElement(u);
System.out.println("enter data for tail");
u=br.readLine();
z.setElement(u);
p.setNext(z);
System.out.println("enter size of the queue");
int n=Integer.parseInt(br.readLine());

Queue q;
q=new Queue(p,z,n);
int ch;


one:for(int i=1;i>0;i++)
{
System.out.println();
System.out.println("1.insert element");

System.out.println("2.Remove");
System.out.println("3.Display");
System.out.println("4.Check empty");
System.out.println("5.Destroy");
System.out.println("6.exit");

ch=Integer.parseInt(br.readLine());
switch(ch)
{
case 1:
System.out.println("enter object");
Object o=br.readLine();
q.insert(o);
break;
case 2:
System.out.println(q.remove()+"   was removed");
break;
case 3:
q.display();
break;
case 4:
System.out.println("QUEUE ISEMPTY: "+q.isEmpty());
break;
case 5:
q.destroy();
q=null;
System.gc();
break;
case 6:
System.out.println("thank you-coded by TG");
break one;
}
}
}
}
/*
OUTPUT:
A node is created
A node is created
enter data for head
hello
enter data for tail
545sdsd
enter size of the queue
5
NEW QUEUE CREATED

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
1
enter object
5
A node is created

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
1
enter object
hellisheavan
A node is created

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
1
enter object
gm
A node is created

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
1
enter object
6483
A node is created

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
3
hello
545sdsd
5
hellisheavan
gm

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
3
hello
545sdsd
5
hellisheavan
gm

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
2
hello   was removed

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
5

1.insert element
2.Remove
3.Display
4.Check empty
5.Destroy
6.exit
6
thank you-coded by TG
*/

STACK USING LINKED LIST.

/*

TOPIC: STACK USING LINKED LIST.
DATE:16/8/2012

*/
import java.io.*;
class Node
{
Object element;
Node next;

Node()
{
this(null,null);
}
Node(Object e,Node n)
{
element=e;
next=n;
System.out.println("A node is created");
}
Object getElement()
{
return element;
}
Node getNext()
{
return next;
}
void setElement(Object newEl)
{
element=newEl;
}
void setNext(Node newNext)
{
next=newNext;
}
}
class STACK
{
Node top;
int size;
STACK()
{
top=null;
size=0;
}
public int size()
{
return size;
}
void display() throws Exception
{
Node u=top;
if(isEmpty())
throw new Exception("cannot display as Stack is empty");
else
{
for(int i=0;u!=null;i++)
{
System.out.println(u.getElement());
u=u.next;
}
}
}
public boolean isEmpty()
{
if(top==null)
return true;
else return false;
}

void push(Object elem)
{
Node v=new Node();
v.setElement(elem);
v.setNext(top);
top=v;
size++;
}
public Object pop() throws Exception
{
if(isEmpty())
throw new Exception ("Stack is empty");
Object temp=top.getElement();
top=top.getNext();
size--;
return temp;
}

void destroy()
{
top=null;
System.gc();
}
}
class Demo
{
public static void main(String arg[])throws Exception
{
STACK s=new STACK();
int ch;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
one:for(int i=1;i>0;i++)
{
System.out.println();
System.out.println("1.push");

System.out.println("2.pop");
System.out.println("3.display");
System.out.println("4.Check empty");
System.out.println("5.Destroy");
System.out.println("6.exit");

ch=Integer.parseInt(br.readLine());
switch(ch)
{
case 1:
System.out.println("enter object");
Object o=br.readLine();
s.push(o);
break;
case 2:
System.out.println(s.pop()+"   was removed");
break;
case 3:
s.display();
break;
case 4:
System.out.println("STACK ISEMPTY: "+s.isEmpty());
break;
case 5:
s.destroy();
s=null;
System.gc();
break;
case 6:
System.out.println("thank you-coded by TG");
break one;
}
}
}
}
/*
OUTPUT:

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
1
enter object
t92
A node is created

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
1
enter object
fr.Agnels
A node is created

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
1
enter object
dj sanghvi
A node is created

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
1
enter object
atharva
A node is created

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
3
atharva
dj sanghvi
fr.Agnels
t92

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
4
STACK ISEMPTY: false

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
2
atharva   was removed

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
5

1.push
2.pop
3.display
4.Check empty
5.Destroy
6.exit
6
thank you-coded by TG
*/