Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void nodeLeft (Tree* node, vector<Tree*> q = vector<Tree*>()) {
- q = node->left == NULL ? node->leaf ? q : pushBackTree(q, new Tree{ "null", false, true, NULL, NULL }) : pushBackTree(q, node->left);
- }
- void nodeRight (Tree* node, vector<Tree*> q = vector<Tree*>()) {
- q = node->right == NULL ? node->leaf ? q : pushBackTree(q, new Tree{ "null", false, true, NULL, NULL }) : pushBackTree(q, node->right);
- }
- vector<Tree*> treeChilde(Tree* node, vector<Tree*> q = vector<Tree*>()){
- nodeLeft(node, q);
- nodeRight(node, q);
- }
- void printDFS(Tree* root, vector<Tree*> q = vector<Tree*>(), bool start = true) {
- if (start) q.insert(q.begin(), root);
- if (q.empty()) return;
- Tree* node = q.front();
- !start ? cout << ',' << node->value : cout << node->value;
- q.erase(q.begin());
- treeChilde(node, q);
- printDFS(root, q, false);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement