Advertisement
EmpireJordan

Example

Mar 29th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1. // Example program
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <string>
  5.  
  6.  
  7. using namespace std;
  8.  
  9.  
  10.  
  11.  
  12. struct BTNode
  13. {
  14.     BTNode * left;
  15.     BTNode * right;
  16.     int lvalue;
  17.     int rvalue;
  18.  
  19. };
  20. void preorder(BTNode * v)
  21. {
  22.     if (v)
  23.     {
  24.        
  25.         preorder(v->left);
  26.         if (v->left != NULL)
  27.         v->lvalue = v->left->lvalue + v->left->rvalue;
  28.         preorder(v->right);
  29.         if (v->right != NULL)
  30.         v->rvalue = v->right->lvalue + v->right->rvalue;
  31.        
  32.     }
  33. }
  34.  
  35.  
  36. void preorders(BTNode * v) //tylko wyswiela wyniki
  37. {
  38.     if (v)
  39.     {
  40.        
  41.         preorders(v->left);
  42.         cout << v->lvalue << " " << v->rvalue << " " << endl;
  43.         preorders(v->right);
  44.        
  45.     }
  46. }
  47.  
  48. int main()
  49. {
  50.  
  51.     int pause;
  52.  
  53.  
  54.     // daje jedynke zeby mialy co dodawac na starcie, wiec wyniki +1 beda poprostu
  55.     BTNode jeden = { NULL,NULL, 1, 1};
  56.     BTNode siedem = { NULL,NULL, 1, 1 };
  57.     BTNode czternascie = { NULL,NULL, 1, 1 };
  58.     BTNode dwadziesciajeden = { NULL,NULL, 1, 1 };
  59.     BTNode trzydziescisiedem = { NULL,NULL, 1, 1 };
  60.  
  61.     BTNode dwa = { &jeden, &siedem, 0, 0 };
  62.     BTNode pietnascie = { &czternascie, &dwadziesciajeden, 0, 0 };
  63.     BTNode trzydziescidwa = { NULL,&trzydziescisiedem,0, 0 };
  64.  
  65.     BTNode trzy = { &dwa, &pietnascie, 0, 0 };
  66.     BTNode trzydziesciosiem = { &trzydziescidwa, NULL, 0, 0 };
  67.  
  68.     BTNode cztery = { &trzy, &trzydziesciosiem, 0, 0 };
  69.  
  70.  
  71.  
  72.     preorder(&cztery);
  73.     preorders(&cztery);
  74.     cin >> pause;
  75.  
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement