Advertisement
Radoan_Ahmed

Untitled

Sep 29th, 2019
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.68 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.  
  15. void insert_at_first(char nameN,int rollN)
  16. {
  17.     data *N = (data*)malloc(sizeof(data));
  18.     N -> name = nameN;
  19.     N -> roll = rollN;
  20.     N -> next = NULL;
  21.  
  22.     if(head == NULL)
  23.     {
  24.         head = N;
  25.         return ;
  26.  
  27.     }
  28.     N -> next = head;
  29.     head = N;
  30. }
  31.  
  32. void delete(int n)
  33. {
  34.     data *list = head;
  35.     if(n==1)
  36.     {
  37.         head =head -> next;
  38.         free(list);
  39.         return;
  40.     }
  41.     n=n-2;
  42.     while(n!=0)
  43.     {
  44.         list = list -> next;
  45.         n--;
  46.     }
  47.         if(list == NULL)
  48.             return;
  49.     temp = list -> next;
  50.     list -> next= temp -> next;
  51.     free(temp);
  52. }
  53.  
  54.  
  55. void display()
  56. {
  57.     data *list = head;
  58.     while(list != NULL)
  59.     {
  60.         printf("%c\n",list -> name);
  61.         printf("%d\n",list -> roll);
  62.         list = list -> next;
  63.     }
  64. }
  65.  
  66. int search(int n)
  67. {
  68.     data *list = head;
  69.     while(list != NULL)
  70.     {
  71.         if(list -> roll == n)
  72.         {
  73.             printf("The number find\n");
  74.             return 1;
  75.         }
  76.         list = list -> next;
  77.     }
  78. }
  79.  
  80. int main()
  81. {
  82.     data *p = (data*)malloc(sizeof(data));
  83.     p -> name = 'z';
  84.     p -> roll = 5;
  85.     p -> next = NULL;
  86.  
  87.     data *q = (data*)malloc(sizeof(data));
  88.     q -> name = 'x';
  89.     q -> roll = 6;
  90.     q -> next = NULL;
  91.  
  92.     data *r = (data*)malloc(sizeof(data));
  93.     r -> name = 'x';
  94.     r -> roll = 6;
  95.     r -> next = NULL;
  96.  
  97.     q -> next = r;
  98.     p -> next = q;
  99.     head = p;
  100.  
  101.     insert_at_first('y',9);
  102.     delete(2);
  103.     search(5);
  104.     display();
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement