C program to create a Linked List and display the elements in the List
C program to create a Linked List and display the elements in the List
Problem Description
This program is to create a linked list and display all the elements present in the created list. Linked list is an ordered set of data elements, each containing a link to its successor.
C program to create a Linked List and display the elements in the List - Source code
/* C program to create a linked list and display the elements in the list */ #include <stdio.h> #include <malloc.h> #include <stdlib.h> void main() { struct node { int n; struct node *ptr; }; typedef struct node NODE; NODE *head, *first, *temp = 0; int count = 0; int c = 1; first = 0; while (c) { head = (NODE *)malloc(sizeof(NODE)); printf("Enter the data item\n"); scanf("%d", &head-> n); if (first != 0) { temp->ptr = head; temp = head; } else { first = temp = head; } fflush(stdin); printf("Do you want to continue(Type 0 or 1)?\n"); scanf("%d", &c); } temp->ptr = 0; /* reset temp to the beginning */ temp = first; printf("\nStatus of the linked list is\n"); while (temp != 0) { printf("%d=>", temp->n); count++; temp = temp -> ptr; } printf("NULL\n"); printf("No. of nodes in the list = %d\n", count); }
Program Output
Enter the data item 100 Do you want to continue(Type 0 or 1)? 1 Enter the data item 200 Do you want to continue(Type 0 or 1)? 1 Enter the data item 300 Do you want to continue(Type 0 or 1)? 1 Enter the data item 400 Do you want to continue(Type 0 or 1)? 1 Enter the data item 500 Do you want to continue(Type 0 or 1)? 0 Status of the linked list is 100=>200=>300=>400=>500=>NULL No. of nodes in the list = 5
Program Explanation
1. First a node data structure is declared with a data field as integer variable n and a pointer to the node to access the next node. 2. The malloc function is used to assign memory to a new node of the list. The user is asked to enter the data item. This data value is assigned to info variable (n) of the node. 3. For successive nodes, a temp node is used to assign the pointer and data. 4. If user choose to display the created list, temp variable is reset to first and the list is printed using the while loop.