Advertisement
Guest User

linked

a guest
Feb 19th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. #include<iostream>
  2. #include<stdlib.h>
  3. using namespace std;
  4.  
  5. class node{
  6. public:
  7. int info;
  8. node *link;
  9. };
  10.  
  11. node *head=NULL, *temp=NULL;
  12.  
  13. void CreateNode(int item){
  14. node *ptr;
  15. ptr = new node();
  16. ptr->info=item;
  17. ptr->link=NULL;
  18.  
  19. if(head==NULL){
  20. head=ptr;
  21. temp=ptr;
  22. }
  23. else{
  24. temp->link=ptr;
  25. temp=ptr;
  26. }
  27. }
  28.  
  29. void traverse(){
  30. node *ptr;
  31. ptr=head;
  32.  
  33. while(ptr != NULL){
  34. cout<<ptr->info<<" ";
  35. ptr=ptr->link;
  36. }
  37. cout<<endl;
  38. }
  39.  
  40. void frstdlt(){
  41. node *ptr;
  42. ptr=head->link;
  43. head=ptr;
  44.  
  45. traverse();
  46. }
  47.  
  48. void lstdlt(){
  49. node *ptr;
  50. ptr=head;
  51.  
  52. while(1){
  53. if(ptr->link == NULL){
  54. head=NULL;
  55. break;
  56. }
  57. else{
  58. temp=ptr->link;
  59. if(temp->link==NULL){
  60. ptr->link=NULL;
  61. break;
  62. }
  63. ptr=ptr->link;
  64. }
  65. }
  66. traverse();
  67. }
  68.  
  69. void gvndlt(int item){
  70. node *ptr;
  71. ptr=head;
  72.  
  73. while(1){
  74. if(ptr->info == item){
  75. if(ptr==head) frstdlt();
  76. else if(ptr->link == NULL ) lstdlt();
  77. else{
  78. temp->link=ptr->link;
  79. break;
  80. }
  81. }
  82. else{
  83. temp=ptr;
  84. ptr=ptr->link;
  85. if(ptr==NULL) {
  86. cout<<"No such item"<<endl;
  87. break;
  88. }
  89. }
  90. }
  91. traverse();
  92. }
  93.  
  94. void aftrdlt(int item){
  95. node *ptr;
  96. ptr=head;
  97. temp=ptr->link;
  98.  
  99. while(1){
  100. if(ptr->info==item){
  101. if(temp==NULL) {
  102. ptr->link=NULL;
  103. break;
  104. }
  105. else{
  106. ptr->link=temp->link;
  107. break;
  108. }
  109. }
  110. else{
  111. ptr=ptr->link;
  112. temp=ptr->link;
  113. }
  114. }
  115. traverse();
  116. }
  117.  
  118. int main(){
  119. int n,in,var,item;
  120. cout<<"Please enter the size of List:\n";
  121. cin>>n;
  122.  
  123. for(int i=0;i<n;i++){
  124. var=rand()%50;
  125. CreateNode(var);
  126. }
  127.  
  128. while(1){
  129. cout<<"Please enter:\n1 - Traverse\n2 - 1st item delete\n3 - Last item delete\n4 - Given item delete\n5 - After given item delete\n0 - exit\n";
  130. cin>>in;
  131.  
  132. if(in==0) break;
  133.  
  134. else if(in==1) traverse();
  135. else if(in==2) frstdlt();
  136. else if(in==3) lstdlt();
  137. else if(in==4){
  138. cout<<"Please enter the item: "<<endl;
  139. cin>>item;
  140. gvndlt(item);
  141. }
  142. else if(in==5) {
  143. cout<<"Please enter the after item: "<<endl;
  144. cin>>item;
  145. aftrdlt(item);
  146. }
  147. }
  148. return 0;
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement