PROGRAM TO DELETE FROM SPECIFIC POSITION IN DOUBLY LINKED LIST
|
Download Attachment
|
/****************************************************************/ /*PROGRAM TO DELETE FROM SPECIFIC POSITION IN DOUBLY LINKED LIST*/ /****************************************************************/
#include < stdio.h> #include < conio.h> #include < malloc.h> #include < process.h> #include < ctype.h>
struct doubly_list { int info; struct doubly_list *prev; struct doubly_list *next; }*first,*last,*newnode,*ptr;
void main() { int item,i,loc,loc1; char ch; clrscr(); newnode=(struct doubly_list*)malloc(sizeof(struct doubly_list)); first=newnode; last=newnode; newnode->prev=NULL; do { printf("\nEnter data: "); scanf("%d",&item); newnode->info=item; printf("\nDo you want to create another node:(y/n)"); fflush(stdin); scanf("%c",&ch); if(tolower(ch)=='y') { newnode->next=(struct doubly_list*)malloc(sizeof(struct doubly_list)); newnode->next->prev=newnode; newnode=newnode->next; last=newnode; } else { newnode->next=NULL; } }while(tolower(ch)!='n'); printf(“\nDoubly Linked List is:”); ptr=first; i=1; while(ptr!=NULL) { printf("\nNode %d : %d",i,ptr->info); ptr=ptr->next; i++; }
printf("\nEnter the location: "); scanf("%d",&loc); loc1=1; ptr=first; while(loc1 { loc1=loc1+1; ptr=ptr->next; } ptr->prev->next=ptr->next; ptr->next->prev=ptr->prev;
printf(“\nAfter deletion Doubly Linked List is:”); ptr=first; i=1; while(ptr!=NULL) { printf("\nNode %d : %d",i,ptr->info); ptr=ptr->next; i++; } getch(); }
|
|
|
|
|
Share this article
| Print |
Article read by 5258 times
|
|
|