................create circular link - TopicsExpress



          

................create circular link list.................. //////////////////////////////////////////////////// #include #include struct node{ int info; struct node *next; }; typedef struct node * nodeptr; nodeptr getnode(){ nodeptr tem=(nodeptr)malloc(sizeof(struct node)); tem->next=NULL; return tem; } void create(nodeptr *st){ if(*st!=NULL) { printf(" List already created "); return;  } *st=getnode(); printf(" Enter information :"); scanf("%d",&(*st)->info); (*st)->next=*st; return; } void insert(nodeptr *st){ nodeptr p; if(*st==NULL) { printf(" List not created "); return; } p=getnode(); printf(" Enter information :"); scanf("%d",&p->info); p->next=(*st)->next; (*st)->next=p; *st=p; } void disp(nodeptr *st){ nodeptr cur=(*st)->next; if(*st==NULL) return; while(cur!=*st) { printf("%d->",cur->info); cur=cur->next; } printf("%d",cur->info); cur=cur->next; printf("->%d",cur->info); } void delafter(nodeptr *p){ nodeptr q; if((*p)==NULL || (*p)==(*p)->next) { printf(" Deletion is not possible"); return; } q=(*p)->next; (*p)->next=q->next; free(q); } /*int val; nodeptr cur,pre; if(*st==NULL) { printf(" List does not exists"); return; } for(cur=(*st)->next;cur!=*st;pre=cur,cur=cur->next) { if(cur->info == val) { pre->next=cur->next; } } */ void main(){ nodeptr st=NULL; int ch; clrscr(); while(1){ printf(" ....MAIN MENU.... 1:Create 2:Insert"); printf(" 3.Display 4.Delete 5:Exit"); printf(" Enter your choise :"); scanf("%d",&ch); switch(ch){ case 1: create(&st); break; case 2: insert(&st); break; case 3: disp(&st); break; case 4: delafter(&st); break; case 5: exit(0); break; default: break; } } }
Posted on: Wed, 19 Jun 2013 06:29:02 +0000

Recently Viewed Topics




© 2015