Header Ads Widget

C program of Doubly Link list

Doubly link list is a list in which there is three field first for storing the address of the previous node second for data field and third for the address of the next node. 



Here in this article we will create a doubly Link list and create a function for Insertion Node at first Position and also create a Function for delete Nodes from starting.

Code:-
#include<stdio.h>
#include<stdlib.h>

// function for define the structure of node
struct node
{
int data;
struct node *pre,*next;
};
struct node *head=NULL;
// function for creating the node
struct node *creatnode()
{
struct node* t;
t=(struct node*)malloc(sizeof(struct node));
return(t);
}

// function for insert the node
// at starting for the list
void Insert()
{
struct node *t;
t=creatnode();
printf("Enter a number ");
scanf("%d",&t->data);
t->pre=NULL;
t->next=NULL;
if(head==NULL)
{
head=t;
}
else
{
t->next=head;
head->pre=t;
head=t;
}
}

// function for delete the node
// from the starting
void delete()
{
struct node *t;
if(head==NULL)
printf("List is Empty\n");
else
{
t=head;
head=head->next;
head->pre=NULL;
free(t);
}
}

// function for view the list
void viewlist()
{
struct node *t;
if(head==NULL)
printf("List is Empty\n");
else
{
t=head;
while(t->next!=NULL)
{
printf("%d ",t->data);
t=t->next;
}
}
}

// driver function
int main()
{
int ch;
head=creatnode();
while(1)
{
printf("\n Press\n");
printf("1. Insertion\n");
printf("2. delete\n");
printf("3. View List\n");
printf("4. Exit\n");
printf("Enter Your Choice\n");
scanf("%d",&ch);
switch(ch)
{
case 1:
Insert();
break;
case 2:
delete();
break;
case 3:
viewlist();
break;
case 4:
exit(0);
default :
printf("Invailid key");
}
}
return 0;
}


Output:-
Press
1. Insertion
2. delete
3. View List
4. Exit
Enter Your Choice 1
Enter a number 12

Press
1. Insertion
2. delete
3. View List
4. Exit
Enter Your Choice 1
Enter a number 34

Press
1. Insertion
2. delete
3. View List
4. Exit
Enter Your Choice
3
34 12

Press
1. Insertion
2. delete
3. View List
4. Exit
Enter Your Choice
2

Press
1. Insertion
2. delete
3. View List
4. Exit
Enter Your Choice 4

Recommended Post:

Key points:-

Cracking the coding interview:-

 Array and string:-

Tree and graph:-

Hackerearth Problems:-

Hackerrank Problems:-

Data structure:-

 MCQs:-