w3resource

C++ Linked List Exercises: Delete first node of a Singly Linked List

C++ Linked List: Exercise-10 with Solution

Write a C++ program to delete first node of a given Singly Linked List.

Test Data:
Original Linked list:
13 11 9 7 5 3 1
Delete first node of Singly Linked List:
11 9 7 5 3 1

Sample Solution:

C++ Code:

#include <iostream> // Including input-output stream header file

using namespace std; // Using standard namespace

// Declare a structure for defining a Node
struct Node {
    int num; // Data field to store a number
    Node *next; // Pointer to the next node
};

struct Node *head = NULL; // Starting (Head) node initialized as NULL

// Function to insert a node at the start of the linked list
void insert_Node(int n) {
    struct Node *new_node = new Node; // Creating a new node
    new_node->num = n; // Assigning data to the new node
    new_node->next = head; // Pointing the new node to the current head
    head = new_node; // Making the new node as the head
}

// Function to delete the first node of the list
void delete_first_node() {
    if (head != NULL) { // Check if the list is not empty
        Node* temp = head; // Temporary pointer to the current head
        head = head->next; // Move the head to the next node
        free(temp); // Free the memory of the original head node
    }
}

// Function to display all nodes in the linked list
void display_all_nodes() {
    struct Node *temp = head; // Temporary pointer to traverse the list
    while (temp != NULL) { // Loop through all nodes until the end is reached
        cout << temp->num << " "; // Displaying the data in the current node
        temp = temp->next; // Move to the next node
    }
}

int main() {
    insert_Node(1); // Inserting a node with value 1
    insert_Node(3); // Inserting a node with value 3
    insert_Node(5); // Inserting a node with value 5
    insert_Node(7); // Inserting a node with value 7
    insert_Node(9); // Inserting a node with value 9
    insert_Node(11); // Inserting a node with value 11
    insert_Node(13); // Inserting a node with value 13

    cout << "Original Linked list:\n"; // Displaying message for the original list
    display_all_nodes(); // Displaying all nodes in the original list

    cout << "\n\nDelete first node of Singly Linked List:\n"; // Displaying message for the deletion
    delete_first_node(); // Deleting the first node of the list
    display_all_nodes(); // Displaying all nodes after deletion

    cout << endl; // Displaying newline
    return 0; // Returning from the main function
}

Sample Output:

Original Linked list:
13 11 9 7 5 3 1 

Delete first node of  Singly Linked List:
11 9 7 5 3 1 

Flowchart:

Flowchart: Delete first node of a Singly Linked List.
Flowchart: Delete first node of a Singly Linked List.

CPP Code Editor:

Contribute your code and comments through Disqus.

Previous C++ Exercise: Insert a node at any position of a Singly Linked List.
Next C++ Exercise: Delete a middle node from a Singly Linked List.

What is the difficulty level of this exercise?



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/cpp-exercises/linked_list/cpp-linked-list-exercise-10.php