Paste Search Dynamic
Recent pastes
Node next
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct Node{
  5.         int data;
  6.         struct Node*next;
  7. };
  8.  
  9. struct Node* addtoEmpty(struct Node*last, int data)
  10. {
  11.         if(last!=null)
  12.           return last;
  13.         struct Node*temp=(struct Node*)malloc(sizeof(struct Node));
  14.         temp->data = data;
  15.         last = temp;
  16.         last->next = last;
  17.         return last;
  18. }
  19.  
  20. struct Node* addBegin(struct Node* last, int data)
  21. {
  22.         if(last == null)
  23.             return addtoEmpty(last,data);
  24.          struct Node*temp = (struct Node*)malloc(sizeof(struct Node));
  25.          temp->data = data;
  26.          temp->next = last->next;
  27.          last->next = temp;
  28.          
  29.          return last;
  30. }
  31.  
  32. struct Node*addEnd(struct Node* last,int data)
  33. {
  34.         if(last == null)
  35.            return addtoEmpty(last,data);
  36.            
  37.          struct Node*temp = (struct Node*)malloc(sizeof(struct Node));
  38.          temp->data = data;
  39.          temp->next = last->next;
  40.          last->next = temp;
  41.          last = temp;
  42.          
  43.          return last;
  44. }
  45. struct Node* del(struct Node*last, int key)
  46. {
  47.         struct Node*p,*q;
  48.        
  49.     if(last ==null)
  50.        return last;
  51.      p = last;
  52.     do{
  53.         q=p;
  54.         p =p->next;     
  55.         if(p->data == key)
  56.         {
  57.             q->next = p->next;
  58.             free(p);
  59.             return last;
  60.         }
  61.     }while(p->data!=key);
  62. }
  63. void traverse(struct Node*last)
  64. {
  65.         struct Node*p;
  66.        
  67.         if(last == null)
  68.         {
  69.                 cout<<"List is empty";
  70.         }
  71.        
  72.         p = last->next;
  73.         do{
  74.                 cout<<p->data<<" ";
  75.                 p=p->next;
  76.         }
  77.         while(p!=last->next);
  78. }
  79.  
  80. int main() {
  81.         // your code goes here
  82.         struct Node*last = null;
  83.         last = addtoEmpty(last,6);
  84.         last = addBegin(last,4);
  85.         last = addBegin(last,2);
  86.         last = addEnd(last,8);
  87.         last = addEnd(last,12);
  88.         //last = addAfter(last,10,8)
  89.         last = del(last,6);
  90.         traverse(last);
  91.         return 0;
  92. }
Parsed in 0.014 seconds