0% found this document useful (0 votes)
50 views

C Program To Create A Double Linked List and To Print The Elements of The List

The C program creates a doubly linked list to store integer values. It prompts the user to enter the number of nodes for the list and then a loop allocates memory for each node, prompts the user to input a value, and links the nodes together by updating the pointer fields. After creating the full list, it prints out the values stored in each node from head to tail.

Uploaded by

Bhargav Sai
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

C Program To Create A Double Linked List and To Print The Elements of The List

The C program creates a doubly linked list to store integer values. It prompts the user to enter the number of nodes for the list and then a loop allocates memory for each node, prompts the user to input a value, and links the nodes together by updating the pointer fields. After creating the full list, it prints out the values stored in each node from head to tail.

Uploaded by

Bhargav Sai
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

// c program to create a double linked list and to print the elements of

the list
#include <stdio.h>

#include <stdlib.h>

struct node {

int num;

struct node * preptr;

struct node * nextptr;

}*stnode, *ennode;

void DlListcreation(int n);

void displayDlList();

int main()

int n;

stnode = NULL;

ennode = NULL;

printf("\n\n Doubly Linked List : Create and display a doubly linked list :\n");

printf(" Input the number of nodes : ");

scanf("%d", &n);

DlListcreation(n);

displayDlList();

return 0;

void DlListcreation(int n)

int i, num;

struct node *fnNode;

if(n >= 1)

stnode = (struct node *)malloc(sizeof(struct node));

if(stnode != NULL)
{

printf(" Input data for node 1 : ");

scanf("%d", &num);

stnode->num = num;

stnode->preptr = NULL;

stnode->nextptr = NULL;

ennode = stnode;

for(i=2; i<=n; i++)

fnNode = (struct node *)malloc(sizeof(struct node));

if(fnNode != NULL)

printf(" Input data for node %d : ", i);

scanf("%d", &num);

fnNode->num = num;

fnNode->preptr = ennode;

fnNode->nextptr = NULL;

ennode->nextptr = fnNode;

ennode = fnNode;

else

printf(" Memory can not be allocated.");

break;

else

printf(" Memory can not be allocated.");

}
}

void displayDlList()

struct node * tmp;

int n = 1;

if(stnode == NULL)

printf(" No data found in the List yet.");

else

tmp = stnode;

printf("\n\n Data entered on the list are :\n");

while(tmp != NULL)

printf(" node %d : %d\n", n, tmp->num);

n++;

tmp = tmp->nextptr;

Output
Doubly Linked List : Create and display a doubly linked list :

-------------------------------------------------------------------

Input the number of nodes : 4

Input data for node 1 : 1

Input data for node 2 : 2

Input data for node 3 : 3

Input data for node 4 : 4


Data entered on the list are :

node 1 : 1

node 2 : 2

node 3 : 3

node 4 : 4

--------------------------------

Process exited after 13.88 seconds with return value 0

Press any key to continue . . .

You might also like