Advertisement
Guest User

Untitled

a guest
Jun 30th, 2015
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1.         iterator insert(iterator pos, T val)
  2.         {
  3.             Node<T> * x = new Node<T>;
  4.             x->val = val;
  5.             x->next = NULL;
  6.  
  7.             if (top == NULL && root == NULL)
  8.             {
  9.                 root = x;
  10.                 top = x;
  11.  
  12.                 return iterator(x, this);
  13.             }
  14.            
  15.             if (root == top)
  16.             {
  17.                 if (pos.getElement() == top)
  18.                 {
  19.                     root->next = x;
  20.                     top = x;
  21.                 }
  22.                 else
  23.                 {
  24.                     x->next = root;
  25.                     root = x;
  26.                 }
  27.             }
  28.             else
  29.             {
  30.                 if (pos.getElement() == top)
  31.                 {
  32.                     pos.getElement()->next = x;
  33.                     top = x;
  34.  
  35.                     cout << pos.getElement()->val << endl;
  36.                 }
  37.                 else if (pos.getElement()->next == root)
  38.                 {
  39.                     x->next = pos.getElement()->next;
  40.                     root = x;
  41.  
  42.                     cout << pos.getElement()->next->val << endl;
  43.                 }
  44.             }
  45.  
  46.  
  47.             return iterator(x, this);
  48.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement