Delete Complete Linked List” is one of the basic problem exercise for beginners. Here, we are given a linked list and our task is to delete complete linked list or simply, delete all the nodes of the linked list.

To do so, we will traverse the complete linked list and then delete the given nodes one after another during traversing.

The steps required to delete complete linked list is as follows:

1. Traverse the complete linked list.
2. While traversing, delete the nodes one after another.
3. Mark head of the list as NULL.

#### C++ Program to delete complete linked list is as follows:

```/* C++ Program to Delete Complete Linked List */
#include<bits/stdc++.h>
using namespace std;

/* strcuture of the node of the Linked List */
struct node
{
int data;
struct node *next;
};

/* Function to inset node at the end of the linked list */
void insert_end(struct node **head, int ele)
{
/* Creating a new node */
struct node *new_node;
new_node = (struct node*)malloc(sizeof(struct node));
new_node->data = ele;
new_node->next = NULL;

/* check whether the linked list is empty or not */

/* If Linked List is empty, make new node to the head of the linked list */
{
return;
}

/* If Linked List is not empty, then traverse the complete linked list and point the pointer
of the last node of the linked list to the new node */
struct node *temp = NULL;
while(temp->next != NULL)
temp=temp->next;
temp->next = new_node;
}

/* Function to delete the complete Linked List */
{
/* If Linked List is NULL, simply return */
return;
struct node *p;
/* Traverse the complete Linked List and Delete all the nodes one by one */
while(temp!=NULL)
{
p = temp;
temp = temp->next;
delete p;
}
/* Make Head to the NULL */
}

/* Function to Print the Linked List */
{
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
}
int main()
{
/* Inserting Some Nodes in the Linked List */
cout<<"The linked list elements before deleting:\n";
```OUTPUT: