© 2014 Firstsoft Technologies (P) Limited. login
Hi 'Guest'
Home SiteMap Contact Us Disclaimer
enggedu
Quick Links
Easy Studies


CPP Program To Implement Circular Linked List:

//Circular Linked List in CPP #include #include #include #include #define null 0 struct node { int info; struct node *link; public: }*start,*last; void main() { int ch,n,m,position,i; void create(int); void addat(int); void addbt(int,int); void del(int); void disp(); last=null; clrscr(); while(1) { cout<<"\n\nMAIN MENU"; cout<<"\n\n1.create\n2.addat\n3.addbt\n4.del\n5.disp\n6.exit"; cout<<"\n\nENTER YOUR CHOICE : "; cin>>ch; switch(ch) { case 1: cout<<"\n\nENETER NO OF ITC : "; cin>>n; for(i=0;i>m; create(m); }break; case 2: cout<<"\n\nENTER THE ELEMENT : "; cin>>m; addat(m); break; case 3: cout<<"\n\nENTER THE ELEMENT : "; cin>>m; cout<<"\n\nENTER THE POSITION : "; cin>>position; addbt(m,position); break; case 4: if(last==null) { cout<<"\n\nLIST IS EMPTY"; continue; } cout<<"\n\nENTER THE ELEMENT FOR DELETE : "; cin>>m; del(m); break; case 5: disp(); break; case 6: exit(0); break; default: cout<info=data; tmp->link=null; if(last==null) { last=tmp; tmp->link=last; } else { tmp->link=last->link; last->link=tmp; last=tmp; } return; } void addat(int data) { struct node *q,*tmp; tmp=(struct node *)malloc(sizeof(struct node)); tmp->info=data; tmp->link=last->link; last->link=tmp; } void addbt(int data,int pos) { struct node *tmp,*q; int i; q=last->link;; for(i=0;ilink; if(q==last->link) { cout<<"\n\nthere r lessthan "<link=q->link; tmp->info=data; q->link=tmp; if(q==last) last=tmp; } void del(int data) { struct node *tmp,*q; if(last->link==last&&last->info==data) { tmp=last; last=null; free(tmp); cout<<"\n\nElement is "<link; if(q->info==data) { tmp=q; last->link=q->link; free(tmp); cout<<"\n\nElement is "<link!=last) { if(q->link->info==data) { tmp=q->link; q->link=tmp->link; free(tmp); cout<<"\n\nElement is "<link; } if(q->link==last) { if(q->link->info==data) { tmp=last; last=q; last->link=tmp->link; free(tmp); cout<<"\n\nElement is "<link; cout<info<<" "; q=q->link; } cout<info; return; }

Sample Input and output
                            
 CIRCULAR LINKED LIST
  ---------------------------------

MIAN NENU

1.CREATE
2.INSERT
3.DELETE
4.EXIT
Enter your choice:1

Type -999 to stop
Enter the data:10
20
30
-999
Circular list
 
10  20  30

MIAN NENU

1.CREATE
2.INSERT
3.DELETE
4.EXIT
Enter your choice:2

Enter the new item:40

Position of insertion:2

Circular list
10  40 20 30

MIAN NENU

1.CREATE
2.INSERT
3.DELETE
4.EXIT
Enter your choice:3

Data to be deleted:20

Circular List
10  40  30

MIAN NENU

1.CREATE
2.INSERT
3.DELETE
4.EXIT
Enter your choice:3

Data to be deleted:60

Element not found

 
SLogix Student Projects

⇓Student Projects⇓
⇑Student Projects⇑
bottom