Advertisement
codisinmyvines

swap max and min in tree

Jul 15th, 2020
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.65 KB | None | 0 0
  1. void punktD(treeNode* root)
  2. {
  3.     int min, max;
  4.     stackNode* top;
  5.     treeNode* marker;
  6.     treeNode* minn;
  7.     treeNode* maxx;
  8.     marker = root;
  9.     minn = root;
  10.     maxx = root;
  11.     min = marker->data;
  12.     max = marker->data;
  13.     top = NULL;
  14.     if (root != NULL)
  15.         push_stack(top, root);
  16.     while (top != NULL)
  17.     {
  18.         pop_stack(top, marker);
  19.         while (marker != NULL)
  20.         {
  21.             if (marker->data < min)
  22.             {
  23.                 min = marker->data;
  24.                 minn = marker;
  25.             }
  26.             if (marker->data > max)
  27.             {
  28.                 max = marker->data;
  29.                 maxx = marker;
  30.             }
  31.             if (marker->right != NULL)
  32.                 push_stack(top, marker->right);
  33.             marker = marker->left;
  34.         }
  35.     }
  36.     swap(minn->data, maxx->data);
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement