PROGRAM TO INSERT AT SPECIFIC POSITION OF DOUBLY LINKED LIST
|
Download Attachment
|
/**************************************************************/ /*PROGRAM TO INSERT AT SPECIFIC POSITION OF 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; 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 item tobe inserted: "); scanf("%d",&item); printf("\nEnter the location: "); scanf("%d",&loc); newnode=(struct doubly_list *)malloc(sizeof(struct doubly_list)); newnode->info=item; ptr=first; i=1; while(i { ptr=ptr->next; i++; } newnode->next=ptr->next; newnode->prev=ptr; ptr->next->prev=newnode; ptr->next=newnode; printf("\nAfter insertion the linked list is:\n"); 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 9805 times
|
|
|