Add node at the end of linked list

C Exercises: Insert a new node at the end of a Singly Linked List

Last update on February 26 2020 08:07:28 [UTC/GMT +8 hours]

C Linked List : Exercise-5 with Solution

Write a program in C to insert a new node at the end of a Singly Linked List.

Pictorial Presentation:


Sample Solution:

C Code:

#include #include struct node { int num; //Data of the node struct node *nextptr; //Address of the node }*stnode; void createNodeList[int n]; //function to create the list void NodeInsertatEnd[int num]; //function to insert node at the end void displayList[]; //function to display the list int main[] { int n,num; printf["\n\n Linked List : Insert a new node at the end of a Singly Linked List :\n"]; printf["-------------------------------------------------------------------------\n"]; printf[" Input the number of nodes : "]; scanf["%d", &n]; createNodeList[n]; printf["\n Data entered in the list are : \n"]; displayList[]; printf["\n Input data to insert at the end of the list : "]; scanf["%d", &num]; NodeInsertatEnd[num]; printf["\n Data, after inserted in the list are : \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 stnode 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; //Creates n nodes and adds to linked list for[i=2; inum = 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 NodeInsertatEnd[int num] { struct node *fnNode, *tmp; fnNode = [struct node*]malloc[sizeof[struct node]]; if[fnNode == NULL] { printf[" Memory can not be allocated."]; } else { fnNode->num = num; //Links the data part fnNode->nextptr = NULL; tmp = stnode; while[tmp->nextptr != NULL] tmp = tmp->nextptr; tmp->nextptr = fnNode; //Links the address part } } void displayList[] { struct node *tmp; if[stnode == NULL] { printf[" No data found in the empty list."]; } 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 : Insert a new node at the end of a 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 are : Data = 5 Data = 6 Data = 7 Input data to insert at the end of the list : 8 Data, after inserted in the list are : Data = 5 Data = 6 Data = 7 Data = 8

Flowchart:


createNodeList[] :


NodeInsertatEnd[] :


displayList[] :


C Programming Code Editor:

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

Previous: Write a program in C to insert a new node at the beginning of a Singly Linked List.
Next: Write a program in C to insert a new node at the middle of Singly Linked List.

What is the difficulty level of this exercise?

Easy Medium Hard


C Programming: Tips of the Day

scanf[] leaves the new line char in the buffer:

The scanf[] function skips leading whitespace automatically before trying to parse conversions other than characters. The character formats [primarily %c; also scan sets %[...] - and %n] are the exception; they don't skip whitespace.

Use " %c" with a leading blank to skip optional white space. Do not use a trailing blank in a scanf[] format string.

Ref : //bit.ly/3cOFXAA

  • 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

Video liên quan

Chủ Đề