Syntax error Explain the deletion of element in linked list

Explain the deletion of element in linked list



Linked lists use dynamic memory allocation i.e. they grow and shrink accordingly. They are defined as a collection of nodes. Here, nodes have two parts, which are data and link. The representation of data, link and linked lists is given below −

Operations on linked lists

There are three types of operations on linked lists in C language, which are as follows −

  • Insertion
  • Deletion
  • Traversing

Deletion

Consider an example given below −

Delete node 2

Delete node 1

Delete node 3

Program

Following is the C program for deletion of the elements in linked lists −

 Live Demo

#include <stdio.h>
#include <stdlib.h>
struct Node{
   int data;
   struct Node *next;
};
void push(struct Node** head_ref, int new_data){
   struct Node* new_node = (struct Node*) malloc(sizeof(struct Node));
   new_node->data = new_data;
   new_node->next = (*head_ref);
   (*head_ref) = new_node;
}
void deleteNode(struct Node **head_ref, int position){
   //if list is empty
   if (*head_ref == NULL)
      return;
   struct Node* temp = *head_ref;
   if (position == 0){
      *head_ref = temp->next;
      free(temp);
      return;
   }
   for (int i=0; temp!=NULL && i<position-1; i++)
      temp = temp->next;
   if (temp == NULL || temp->next == NULL)
      return;
   struct Node *next = temp->next->next;
   free(temp->next); // Free memory
   temp->next = next;
}
void printList(struct Node *node){
   while (node != NULL){
      printf(" %d ", node->data);
      node = node->next;
   }
}
int main(){
   struct Node* head = NULL;
   push(&head, 7);
   push(&head, 1);
   push(&head, 3);
   push(&head, 2);
   push(&head, 8);
   puts("Created List: ");
   printList(head);
   deleteNode(&head, 3);
   puts("
List after Deletion at position 3: ");    printList(head);    return 0; }

Output

When the above program is executed, it produces the following result −

Created List:
8 2 3 1 7
List after Deletion at position 3:
8 2 3 7
Updated on: 2021-03-26T06:40:12+05:30

725 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements