Radoan_Ahmed

delete by value

Sep 29th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. typedef struct st_info
  5. {
  6.     char name;
  7.     int roll;
  8.     struct st_info *next;
  9.  
  10. } data;
  11.  
  12. data *head;
  13. data *temp;
  14. data *temp1;
  15. int count=0;
  16. void display()
  17. {
  18.     data *list = head;
  19.     while(list != NULL)
  20.     {
  21.         printf("%c\n",list -> name);
  22.         printf("%d\n",list -> roll);
  23.         list = list -> next;
  24.     }
  25. }
  26.  
  27. void delete(int n)
  28. {
  29.     data *list = head;
  30.     while(list != NULL)
  31.     {
  32.         if(list -> roll == n)
  33.         {
  34.             if(count>0)
  35.             {
  36.  
  37.                 temp = temp1 -> next;
  38.                 temp1 -> next= temp -> next;
  39.                 free(temp);
  40.             }
  41.             else
  42.             {
  43.  
  44.             head =head -> next;
  45.             free(list);
  46.             return;
  47.             }
  48.  
  49.         }
  50.         temp1=list;
  51.         list = list -> next;
  52.         count++;
  53.     }
  54. }
  55.  
  56.  
  57. int main()
  58. {
  59.     data *p = (data*)malloc(sizeof(data));
  60.     p -> name = 'z';
  61.     p -> roll = 5;
  62.     p -> next = NULL;
  63.  
  64.     data *q = (data*)malloc(sizeof(data));
  65.     q -> name = 'x';
  66.     q -> roll = 6;
  67.     q -> next = NULL;
  68.  
  69.     data *r = (data*)malloc(sizeof(data));
  70.     r -> name = 'y';
  71.     r -> roll = 7;
  72.     r -> next = NULL;
  73.  
  74.     q -> next = r;
  75.     p -> next = q;
  76.     head = p;
  77.     delete(5);
  78.     display();
  79. }
Add Comment
Please, Sign In to add comment