Advertisement
Nayeemzaman

Linkedlist

Feb 12th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.76 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. typedef struct mylist
  4. {
  5.     int data;
  6.     struct mylist *next;
  7. }node;
  8.  
  9. void insert(node *p, int data){
  10.     while(p -> next != NULL){
  11.         p = p -> next;
  12.     }
  13.     p -> next = (node *)malloc(sizeof(node));
  14.     p -> next -> data = data;
  15.     p -> next -> next = NULL;
  16. }
  17.  
  18. int search(node *p, int key){
  19.     p = p -> next;
  20.     while(p != NULL){
  21.         if(p -> data == key){
  22.             return 1;
  23.         }
  24.     p = p -> next;
  25.     }
  26.     return 0;
  27. }
  28.  
  29. void delete(node *p, int data){
  30.     while(p -> next != NULL)
  31.     {
  32.         if(p -> next -> data == data){
  33.             p -> next = p -> next -> next;
  34.             free(p -> next);
  35.             return 0;
  36.         }
  37.     }
  38.  
  39. }
  40.  
  41. void display(node *p)
  42. {
  43.     while(p -> next != NULL)
  44.     {
  45.         printf("%d\n",p -> next -> data);
  46.         p = p -> next;
  47.     }
  48. }
  49. int main(){
  50.  
  51.  
  52.     node *start = (node *)malloc(sizeof(node));
  53.     start -> next = NULL;
  54.  
  55.     printf("1. Insert\n");
  56.     printf("2. Delete\n");
  57.     printf("3. Print\n");
  58.     printf("4. Search\n");
  59.  
  60.     while(1){
  61.         int query, data;
  62.         scanf("%d",&query);
  63.  
  64.         switch(query){
  65.             case 1:
  66.             scanf("%d",&num);
  67.            
  68.             insert(start,data);
  69.             break;
  70.  
  71.             case 2:
  72.             scanf("%d",&data);
  73.             delete(start,data);
  74.             break;
  75.  
  76.             case 3:
  77.             printf("The list is ");
  78.             display(start);
  79.             printf("\n");
  80.             break;
  81.  
  82.             case 4:
  83.             scanf("%d",&data);
  84.             int status = search(start,data);
  85.  
  86.                 if(status)
  87.                     printf("Element Found\n");
  88.                 else
  89.                     printf("Element Not Found\n");
  90.         }
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement