How to Delete a Linked List


Given a linked list, write a program to delete the linked list completely. That is we will be deleting all the nodes one by one

Example

Input : 6->16->15->50->1->23

Output : //It will be empty

Time Complexity : O(n)
Space Complexity : O(1)

Algorithm

1. Till the end of the linked list
2. Delete the head of the linked list, and make the head’s next as the new head

C++ Program

#include <bits/stdc++.h>
using namespace std;

struct LL{
	int data;
	LL *next;	
};


void insertAtBeginning(struct LL**head,int dataToBeInserted)
{
	struct LL* curr=new LL;
		
		curr->data=dataToBeInserted;
		curr->next=NULL;
	
	if(*head==NULL)
			*head=curr; //if this is first node make this as head of list
		
	else
		{
			curr->next=*head; //else make the current (new) node's next point to head and make this new node a the head
			*head=curr;
		}
		
		//O(1) constant time
}

void deleteLL(struct LL**head)
{
	
	struct LL*temp=*head;
	while(temp!=NULL)
		{
			*head=temp->next; //after deletion of the given head , head will point to next of head
			delete temp;
			temp=*head;
		}
}


void display(struct LL**head)
{
	struct LL*temp=*head;
	while(temp!=NULL)
		{
			if(temp->next!=NULL)
			cout<<temp->data<<" ->";
			else
			cout<<temp->data;
			
			temp=temp->next; //move to next node
		}
		//O(number of nodes)
	cout<<endl;
}


int main()
{
	
	struct LL *head = NULL; //initial list has no elements
	insertAtBeginning(&head,6);
	insertAtBeginning(&head,16);
	insertAtBeginning(&head,15);
	insertAtBeginning(&head,50);
	insertAtBeginning(&head,1);
	insertAtBeginning(&head,23);
	cout<<"Initial List is :-\n";
	display(&head);
	
	deleteLL(&head);
	cout<<"\nAfter the deletion of whole linked list the list becomes : -\n";
	display(&head);
	
	return 0;
}

Leave a Comment

Array Interview Questions
Graph Interview Questions
LinkedList Interview Questions
String Interview Questions
Tree Interview Questions
Core Java Interview Questions

Wait !!! You can Crack Technical Interviews of Companies like Amazon, Google, LinkedIn, Facebook, PayPal, Flipkart, etc

Abhishek

Abhishek was able to crack Microsoft after practicing questions from TutorialCup