Program to insert a node in linked list in C++

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

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

C Linked List : Exercise-4 with Solution

Write a program in C to insert a new node at the beginning 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 NodeInsertatBegin[int num]; //function to insert node at the beginning void displayList[]; //function to display the list int main[] { int n,num; printf["\n\n Linked List : Insert a new node at the beginning 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 beginning of the list : "]; scanf["%d", &num]; NodeInsertatBegin[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 NodeInsertatBegin[int num] { struct node *fnNode; 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 = stnode; //Links the address part stnode = fnNode; //Makes stnode as first node } } void displayList[] { struct node *tmp; if[stnode == NULL] { printf[" No data found in the 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 beginning 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 beginning of the list : 4 Data after inserted in the list are : Data = 4 Data = 5 Data = 6 Data = 7

Flowchart:


createNodeList[] :


NodeInsertatBegin[] :


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 create a singly linked list of n nodes and count the number of nodes.
Next: Write a program in C to insert a new node at the end of a Singly Linked List.

What is the difficulty level of this exercise?

Easy Medium Hard


C Programming: Tips of the Day

How to compare strings in C conditional preprocessor-directives?

#define USER_JACK 1 #define USER_QUEEN 2 #define USER USER_JACK #if USER == USER_JACK #define USER_VS USER_QUEEN #elif USER == USER_QUEEN #define USER_VS USER_JACK #endif

Or you could refactor the code a little and use C code instead.

Ref : //bit.ly/3CNXzHb

  • 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ủ Đề