Monday, December 9, 2013

Delete Node from Singly Linked List

bool single_linked_list::delete_element(int del_element)
{
   bool status = false;
   node* temp_node = first_node;
   node* deleted_node;
   node* prev_node;
   node* next_node;
   while(temp_node)
   {
       if(temp_node->data == del_element)
       {
           next_node = temp_node->link;
           prev_node->link = next_node;
           deleted_node = temp_node;
           status = true;
       }
    prev_node = temp_node;
    temp_node = temp_node->link;
   }
   if(status)
   {
       printf("Element found and deleted element is : %d", deleted_node->data);
   }
   else
   {
       printf("Element not found !!");
   }
   return status;
}

No comments: