TEXT   50
dll
Guest on 23rd November 2022 06:37:16 AM


  1. #include<stdio.h>
  2.  #include<stdlib.h>
  3.  struct node
  4.  {
  5.  int data;
  6.  struct node *left,*right;
  7.  };
  8.  struct node *insert(struct node *start,int data)
  9.  {
  10.  struct node *t;
  11. t=(struct node *)malloc(sizeof(struct node));
  12. t->data=data;
  13. t->left=(struct node *)0;
  14. t->right=start;
  15. if(start!=(struct node *)0)
  16. start->left=t;
  17. start=t;
  18. return start;
  19. }
  20. struct node *search(struct node *dl,int item)
  21. {
  22. while(dl!=(struct node *)0 &&dl->data!=item)
  23. dl=dl->right;
  24. return dl;
  25. }
  26. struct node *delete(struct node *dl,struct node *t)
  27. {
  28. if(t->left==(struct node *)0 && t->right==(struct node *)0)
  29. dl=(struct node *)0;
  30. else if(t->left==(struct node *)0)
  31. {
  32. t->right->left=(struct node *)0;
  33. dl=dl->right;
  34. }
  35. else if(t->right==(struct node *)0)
  36. t->left->right=(struct node *)0;
  37. else
  38. {
  39. t->left->right=t->right;
  40. t->right->left=t->left;
  41. }
  42. free(t);
  43. return dl;
  44. }
  45. void main()
  46. {
  47. struct node *l1=(struct node *)0,*t;
  48. int opt,data;
  49. do
  50. {
  51. printf("\n 1.Insert \n");
  52. printf("\n 2.Search \n");
  53. printf("\n 3.Delete \n");
  54. printf("\n 4.Exit \n");
  55. printf("\n 5.Option:");
  56. scanf("%d",&opt);
  57. switch(opt)
  58. {
  59. case 1:printf("Enter data:");
  60.         scanf("%d",&data);
  61.         l1=insert(l1,data);
  62.         printf("Inserted %d",data);
  63.         break;
  64. case 2:printf("Item to search:");
  65.         scanf("%d",&data);
  66.         t=search(l1,data);
  67.         if(t==(struct node *)0)
  68.         printf("Item not found");
  69.         else
  70.         printf("Item found");
  71.         break;
  72. case 3:printf("Item to delete:");
  73.         scanf("%d",&data);
  74.         t=search(l1,data);
  75.         if(t!=(struct node *)0)
  76.         {
  77.         l1=delete(l1,t);
  78.         printf("Item deleted %d",data);}
  79.         else
  80.         printf("Not exist\n");
  81.         break;
  82. case 4:exit(0);
  83. }
  84. }
  85. while(1);
  86. }

Raw Paste

Login or Register to edit or fork this paste. It's free.