Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. struct Node {
  7.     int value;
  8.     int left;
  9.     int right;
  10. };
  11. struct Tree {
  12.     int key;
  13.     Tree *left;
  14.     Tree *right;
  15. };
  16. Node arr[200001];
  17.  
  18. void display(Tree *root) {
  19.     if (root != NULL) {
  20.         display(root->left);
  21.         display(root->right);
  22.         cout << root->key << ' ';
  23.     }
  24. }
  25.  
  26. void insertNode (Tree *&root, int i) {
  27.     if (root == NULL) {
  28.         Tree *temp = new Tree;
  29.         root = temp;
  30.         temp->key = arr[i].value;
  31.         temp->left = temp->right = NULL;
  32.     }
  33.     if (arr[i].left != 0) {
  34.         Tree *tempLeft = new Tree;
  35.         root->left = tempLeft;
  36.         tempLeft->key = arr[arr[i].left].value;
  37.     }
  38.     if (arr[i].right != 0) {
  39.         Tree *tempRight = new Tree;
  40.         root->right = tempRight;
  41.         tempRight->key = arr[arr[i].right].value;
  42.     }
  43.  
  44.     insertNode (root->left, arr[i].left);
  45.     insertNode (root->right, arr[i].right);
  46.  
  47.  
  48. }
  49. int main()
  50. {
  51.     Tree *root = NULL;
  52.     int n;
  53.     cin >> n;
  54.     int key1, key2, key3;
  55.     for(int i = 1; i < n + 1; i++) {
  56.         cin >> key1;
  57.         arr[i].value = key1;
  58.         cin >> key2;
  59.         arr[i].left = key2;
  60.         cin >> key3;
  61.         arr[i].right = key3;
  62.     }
  63.     insertNode(root, 1);
  64.     display(root);
  65.  
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement