C > Data Structures
Circular Linked List in C
Circular Linked List in C #include
#include
#include
#include
#define null 0 struct node { int info; struct node *link; }*start; void main() { int ch,n,m,position,i; last=null; while(1) { printf("1.create 2.addat 3.addbt 4.del 5.disp 6.exit "); printf("er ur ch"); scanf("%d",&ch); switch(ch) { case 1: printf("er no of itc"); scanf("%d",&n); for(i=0;i
info=data; tmp->link=null; if(last==null) { last=tmp; tmp->link=last; } else { tmp->link=last->link; last->link=tmp; last=tmp; }} addat(int data) { struct node *q,*tmp; tmp=(struct node *)malloc(sizeof(struct node)); tmp->info=data; tmp->link=last->link; last->link=tmp; } addbt(int data,int pos) { struct node *tmp,*q; int i; q=last->link;; for(i=0;i
link; if(q==last->link) { printf("there r lessthan %d elements",pos); return; } } tmp=(struct node *)malloc(sizeof(struct node)); tmp->link=q->link; tmp->info=data; q->link=tmp; if(q==last) last=tmp; } del(int data) { struct node *tmp,*q; if(last->link==last&&last->info==data) { tmp=last; last=null; free(tmp); return; } q=last->link; if(q->info==data) { tmp=q; last->link=q->link; free(tmp); return; } while(q->link!=last) { if(q->link->info==data) { tmp=q->link; q->link=tmp->link; free(tmp); printf("element %d is deleted",data); } if(q->link->info=data) { tmp=q->link; q->link=last->link; free(tmp); last=q; return;} printf("element%d is not found",data); } disp() { struct node *q; if(last==null) { printf("list isdempty"); return; }q=last->link; while(q!=last) { printf("%d",q->info); q=q->link; } printf("%d",last->info); }
C Codes
Beginners
C on Unix
Code Snippets
Data Structures
File Operations
Games Graphics
Gnu-Linux
Hardware
Mathematics
Miscellaneous
Small Programs
Sorting