vakho

ALG Problem N1 (Version 2)

Nov 1st, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. struct node {
  7.     node* left;
  8.     node* right;
  9.     int value;
  10.     node(int _v = 0) {
  11.         left = NULL;
  12.         right = NULL;
  13.         value = 0;
  14.         value = _v;
  15.     }
  16. }
  17.  
  18. int n, a[3030];
  19.  
  20. void add(node* i, int v) {
  21.     if (v < i->value) {
  22.         if (i->left == NULL)
  23.             i->left = new node(v);
  24.         else
  25.             add(i->left, v);
  26.     } else {
  27.         if (i->right == NULL)
  28.             i->right = new node(v);
  29.         else
  30.             add(i->right, v);
  31.     }
  32. }
  33.  
  34. void dfs(node* i) {
  35.     if (i == NULL)
  36.         return;
  37.     dfs(i->right);
  38.     dfs(i->left);
  39.     printf("%i ", i->value);
  40. }
  41.  
  42. int main()
  43. {
  44.     scanf("%i", &n);
  45.     for (int i = 0; i < n; i++)
  46.         scanf("%i", &a[i]);
  47.     node* root = new node(a[n-1]);
  48.     for (int i = n-1; i >= 0; i--)
  49.         add(root, a[i]);
  50.  
  51.     dfs(root);
  52.     system("PAUSE");
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment