Insert list C++

Write a C program to create a singly linked list of n nodes and insert a node in the beginning of the singly linked list. How to insert a node in the beginning of the singly linked list. Algorithm to insert a node at the beginning of Singly linked list. Steps to insert a new node at the start of a singly linked list.

Required knowledge

Basic C programming, Functions, Singly Linked list, Dynamic memory allocation

Algorithm to insert node at the beginning of singly linked list

Algorithm to insert node at the beginning of Singly Linked List Being: createSinglyLinkedList [head] alloc [newNode] If [newNode == NULL] then write ['Unable to allocate memory'] End if Else then read [data]wo newNode.data data newNode.next head head newNode End else End

Steps to insert node at the beginning of singly linked list

  1. Create a new node, say newNode points to the newly created node.
  2. Link the newly created node with the head node, i.e. the newNode will now point to head node.
  3. Make the new node as the head node, i.e. now head node will point to newNode.

Program to insert node at the beginning of singly linked list

/** * C program to insert a new node at the beginning of a Singly Linked List */ #include #include /* Structure of a node */ struct node { int data; // Data struct node *next; // Address }*head; void createList[int n]; void insertNodeAtBeginning[int data]; void displayList[]; int main[] { int n, data; /* * Create a singly linked list of n nodes */ printf["Enter the total number of nodes: "]; scanf["%d", &n]; createList[n]; printf["\nData in the list \n"]; displayList[]; /* * Insert data at the beginning of the singly linked list */ printf["\nEnter data to insert at beginning of the list: "]; scanf["%d", &data]; insertNodeAtBeginning[data]; printf["\nData in the list \n"]; displayList[]; return 0; } /* * Create a list of n nodes */ void createList[int n] { struct node *newNode, *temp; int data, i; head = [struct node *]malloc[sizeof[struct node]]; /* * If unable to allocate memory for head node */ if[head == NULL] { printf["Unable to allocate memory."]; } else { /* * Input data of node from the user */ printf["Enter the data of node 1: "]; scanf["%d", &data]; head->data = data; // Link data field with data head->next = NULL; // Link address field to NULL temp = head; /* * Create n nodes and adds to linked list */ for[i=2; idata = data; // Link data field of newNode with data newNode->next = NULL; // Link address field of newNode with NULL temp->next = newNode; // Link previous node i.e. temp to the newNode temp = temp->next; } } printf["SINGLY LINKED LIST CREATED SUCCESSFULLY\n"]; } } /* * Create a new node and inserts at the beginning of the linked list. */ void insertNodeAtBeginning[int data] { struct node *newNode; newNode = [struct node*]malloc[sizeof[struct node]]; if[newNode == NULL] { printf["Unable to allocate memory."]; } else { newNode->data = data; // Link data part newNode->next = head; // Link address part head = newNode; // Make newNode as first node printf["DATA INSERTED SUCCESSFULLY\n"]; } } /* * Display entire list */ void displayList[] { struct node *temp; /* * If the list is empty i.e. head = NULL */ if[head == NULL] { printf["List is empty."]; } else { temp = head; while[temp != NULL] { printf["Data = %d\n", temp->data]; // Print data of current node temp = temp->next; // Move to next node } } }

Output

Enter the total number of nodes: 4 Enter the data of node 1: 20 Enter the data of node 2: 30 Enter the data of node 3: 40 Enter the data of node 4: 50 SINGLY LINKED LIST CREATED SUCCESSFULLY Data in the list Data = 20 Data = 30 Data = 40 Data = 50 Enter data to insert at beginning of the list: 10 DATA INSERTED SUCCESSFULLY Data in the list Data = 10 Data = 20 Data = 30 Data = 40 Data = 50

Happy coding

Recommended posts

  • C program to create and display a Singly Linked List.
  • C program to insert a node at the middle of a Singly Linked List.
  • C program to insert a node at the end of a Singly Linked List.
  • C program to delete a node from the beginning of a Singly Linked List.
  • C program to delete all nodes of a Singly Linked List.
  • C program to insert element in an array.

Video liên quan

Chủ Đề