Advertisement
Idanref

Untitled

Mar 17th, 2021
709
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.35 KB | None | 0 0
  1. node* remove_item(node *head, int num)
  2. {
  3.     // 1>3>5>6>NULL
  4.     node *temp = head;
  5.     node *delete_node;
  6.  
  7.     if(head == NULL)
  8.         printf("\nList is empty!\n");
  9.  
  10.     else if(temp->value == num)
  11.     {
  12.         delete_node = temp;
  13.         free(delete_node);
  14.         head = temp->next;
  15.         return head;
  16.     }
  17.  
  18.     else
  19.     {
  20.         while(temp->next != NULL)
  21.         {
  22.             if(temp->next->value == num)
  23.             {
  24.                 delete_node = temp->next;
  25.                 temp->next = temp->next->next;
  26.                 free(delete_node);
  27.                 return head;
  28.             }
  29.             temp = temp->next;
  30.         }
  31.  
  32.         if(temp->next == NULL && temp->value != num)
  33.         {
  34.             printf("Didn't find!\n");
  35.             return head;
  36.         }
  37.     }
  38.  
  39.     return head;
  40. }
  41.  
  42.  
  43.  
  44.  
  45. node* remove_last_item(node *head)
  46. {
  47.     // 1>3>5>6>NULL
  48.     node *temp = head;
  49.     node *delete_node;
  50.  
  51.     if(head == NULL)
  52.         printf("\nList is empty!\n");
  53.  
  54.     else if(temp->next == NULL)
  55.     {
  56.         delete_node = temp;
  57.         head = NULL;
  58.         free(delete_node);
  59.     }
  60.  
  61.     else
  62.     {
  63.         while(temp->next->next != NULL)
  64.         {
  65.             temp = temp->next;
  66.         }
  67.  
  68.         delete_node = temp->next;
  69.         temp->next = NULL;
  70.         free(delete_node);
  71.     }
  72.  
  73.     return head;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement