Click here to hide categories Click here to show left categories

User: Home          welcome : Guest          Log In / Register here     




PROGRAM TO INSERT IN BEGINNING OF DOUBLY LINKED LIST

Download Attachment
/*******************************************************/
/* PROGRAM TO INSERT IN BEGINNING 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;
    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);
newnode=(struct doubly_list*)malloc(sizeof(struct doubly_list));
    newnode->info=item;
    if(first==NULL)
    {
        first=newnode;
        last=newnode;
        newnode->prev=NULL;
        newnode->next=NULL;
    }
    else
    {
        newnode->prev=NULL;
        newnode->next=first;
        first->prev=newnode;
        first=newnode;
    }
                        
    printf("\nAfter insertion in the beginning 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 2674 times
Author:
Rohit kakria
I am software developer
Related Articles:
Related Interview Questions: No related interview question