How do you create a linked list?

C Exercises: To create and display Singly Linked List

Last update on February 26 2020 08:07:27 (UTC/GMT +8 hours)

C Linked List : Exercise-1 with Solution

Write a program in C to create and display Singly Linked List.

Pictorial Presentation:

How do you create a linked list?

Sample Solution:

C Code:

#include #include struct node { int num; //Data of the node struct node *nextptr; //Address of the next node }*stnode; void createNodeList(int n); // function to create the list void displayList(); // function to display the list int main() { int n; printf("\n\n Linked List : To create and display Singly Linked List :\n"); printf("-------------------------------------------------------------\n"); printf(" Input the number of nodes : "); scanf("%d", &n); createNodeList(n); printf("\n Data entered in the list : \n"); displayList(); return 0; } void createNodeList(int n) { struct node *fnNode, *tmp; int num, i; stnode = (struct node *)malloc(sizeof(struct node)); if(stnode == NULL) //check whether the fnnode is NULL and if so no memory allocation { printf(" Memory can not be allocated."); } else { // reads data for the node through keyboard printf(" Input data for node 1 : "); scanf("%d", &num); stnode->num = num; stnode->nextptr = NULL; // links the address field to NULL tmp = stnode; // Creating n nodes and adding to linked list for(i=2; i<=n; i++) { fnNode = (struct node *)malloc(sizeof(struct node)); if(fnNode == NULL) { printf(" Memory can not be allocated."); break; } else { printf(" Input data for node %d : ", i); scanf(" %d", &num); fnNode->num = num; // links the num field of fnNode with num fnNode->nextptr = NULL; // links the address field of fnNode with NULL tmp->nextptr = fnNode; // links previous node i.e. tmp to the fnNode tmp = tmp->nextptr; } } } } void displayList() { struct node *tmp; if(stnode == NULL) { printf(" List is empty."); } else { tmp = stnode; while(tmp != NULL) { printf(" Data = %d\n", tmp->num); // prints the data of current node tmp = tmp->nextptr; // advances the position of current node } } }

Sample Output:

Linked List : To create and display Singly Linked List : ------------------------------------------------------------- Input the number of nodes : 3 Input data for node 1 : 5 Input data for node 2 : 6 Input data for node 3 : 7 Data entered in the list : Data = 5 Data = 6 Data = 7

Flowchart:

How do you create a linked list?

createNodeList() :

How do you create a linked list?

displayList() :

How do you create a linked list?

C Programming Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: C Linked List Exercises Home
Next: Write a program in C to create a singly linked list of n nodes and display it in reverse order.

What is the difficulty level of this exercise?

Easy Medium Hard


C Programming: Tips of the Day

In C, how should I read a text file and print all strings?

The simplest way is to read a character, and print it right after reading:

int c; FILE *file; file = fopen("test.txt", "r"); if (file) { while ((c = getc(file)) != EOF) putchar(c); fclose(file); }

Ref: https://bit.ly/3DjQ1fR


  • New Content published on w3resource:
  • Scala Programming Exercises, Practice, Solution
  • Python Itertools exercises
  • Python Numpy exercises
  • Python GeoPy Package exercises
  • Python Pandas exercises
  • Python nltk exercises
  • Python BeautifulSoup exercises
  • Form Template
  • Composer - PHP Package Manager
  • PHPUnit - PHP Testing
  • Laravel - PHP Framework
  • Angular - JavaScript Framework
  • Vue - JavaScript Framework
  • Jest - JavaScript Testing Framework