Vous êtes sur la page 1sur 3

DOUBLE LINKED LIST

package DLL; System.out.println("doyou want to


countinue? y or n");
public class node { choice =s.next().charAt(0);
node pre; }
int data; while(choice=='y' || choice=='Y');
node next; }
public void display()
public node(int data) {
{ node t=start;
pre=null; while(t!=null)
this.data=data; {
next=null; System.out.println(t.data);
} t=t.next;
} }
}
package DLL; public int count()
{
import java.util.Scanner; int c=0;
node t=start;
public class DLLOperations { while(t!=null)
node start=null; {
public void create() c++;
{ t=t.next;
int d; }
Scanner s=new Scanner(System.in); return c;
char choice; }
node latest=null; public int search(int key)
do { {
System.out.println("enter data"); node t=start;
d=s.nextInt(); int c=1;
node n =new node(d); while(t!=null)
if(start ==null) {
{ if(t.data==key)
start=n;
latest=n; return c;
} t=t.next;
else c++;
{ }
latest.next=n; return -1;
n.pre=latest;
}
latest=n; public void insertbegin(int d)
} {
DOUBLE LINKED LIST
node n=new node(d); {
start.pre=n; t=t.next;
n.next=start; System.out.println("deleted"+t.next.data);
start=n; }
} }
public void insertend(int d) public void deletebetween(int pos)
{ {
node t=start;
node n=new node(d); int c=1;
node t=start; while(c!=pos-1 && t.next!=null)
while(t.next!=null) {
{ t=t.next;
t=t.next; c++;
t.next=n; }
n.pre=t; System.out.println(t.next.data);
} t.next.next.pre=t;
} t.next=t.next.next;
public void insertbetween(int d,int pos)
{ }
node n=new node(d); public void displayReverse()
node t=start; {
int c=1; node t=start;
while(c!=pos-1 && t.next!=null) while(t.next!=null)
{ {
t=t.next; t=t.next;
c++; }
} while(t!=null)
n.next=t.next; {
n.pre=t; System.out.println(t.data);
t.next=n; t=t.pre;
n.next.pre=n; }
}
} }
public void deletebegin()
{ package DLL;
System.out.println("deleted"+start.data);
start=start.next; import java.util.Scanner;
start.pre=null;
} public class demo {
public void deleteEnd() public static void main(String[]args) {
{ DLLOperations s=new DLLOperations();
node t=start; Scanner sc=new Scanner(System.in);
while(t.next!=null) boolean iterate=true;
DOUBLE LINKED LIST
int choice,d; pos=sc.nextInt();
s.create(); s.deletebetween(pos);
while(iterate) break;
{ case 7:
System.out.println("menu"); s.display();
System.out.println("1.insert at begin"); break;
System.out.println("2.insert at end"); case 8:
System.out.println("3.insert in between"); s.count();
System.out.println("4.detele first"); break;
System.out.println("5.delete end"); case 9:
System.out.println("6.detele between"); s.displayReverse();
System.out.println("7.display"); }
System.out.println("8.count no nodes"); }
System.out.println("9.display reverse");
System.out.println("enter choice"); }
choice=sc.nextInt();
switch(choice) }
{
case 1:
System.out.println("enter data");
d=sc.nextInt();
s.insertbegin(d);
break;
case 2:
System.out.println("enter data");
d=sc.nextInt();
s.insertend(d);
break;
case 3:
System.out.println("enter data");
d=sc.nextInt();
System.out.println("enter position");
int pos=sc.nextInt();
s.insertbetween(d, pos);
break;
case 4:
s.deletebegin();
break;
case 5:
s.deleteEnd();
break;
case 6:
System.out.println("enter position");

Vous aimerez peut-être aussi