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 5915 times | 
            
                |  |  |