Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Example program
- #include "stdafx.h"
- #include <iostream>
- #include <string>
- using namespace std;
- struct BTNode
- {
- BTNode * left;
- BTNode * right;
- int lvalue;
- int rvalue;
- };
- void preorder(BTNode * v)
- {
- if (v)
- {
- preorder(v->left);
- if (v->left != NULL)
- v->lvalue = v->left->lvalue + v->left->rvalue;
- preorder(v->right);
- if (v->right != NULL)
- v->rvalue = v->right->lvalue + v->right->rvalue;
- }
- }
- void preorders(BTNode * v) //tylko wyswiela wyniki
- {
- if (v)
- {
- preorders(v->left);
- cout << v->lvalue << " " << v->rvalue << " " << endl;
- preorders(v->right);
- }
- }
- int main()
- {
- int pause;
- // daje jedynke zeby mialy co dodawac na starcie, wiec wyniki +1 beda poprostu
- BTNode jeden = { NULL,NULL, 1, 1};
- BTNode siedem = { NULL,NULL, 1, 1 };
- BTNode czternascie = { NULL,NULL, 1, 1 };
- BTNode dwadziesciajeden = { NULL,NULL, 1, 1 };
- BTNode trzydziescisiedem = { NULL,NULL, 1, 1 };
- BTNode dwa = { &jeden, &siedem, 0, 0 };
- BTNode pietnascie = { &czternascie, &dwadziesciajeden, 0, 0 };
- BTNode trzydziescidwa = { NULL,&trzydziescisiedem,0, 0 };
- BTNode trzy = { &dwa, &pietnascie, 0, 0 };
- BTNode trzydziesciosiem = { &trzydziescidwa, NULL, 0, 0 };
- BTNode cztery = { &trzy, &trzydziesciosiem, 0, 0 };
- preorder(&cztery);
- preorders(&cztery);
- cin >> pause;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement