Iterative In-Order Traversal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <vector> using namespace std;
class BinaryTree { public: int value; BinaryTree *left; BinaryTree *right; BinaryTree *parent;
BinaryTree(int value, BinaryTree *parent = nullptr); void insert(vector<int> values, int i = 0); };
void iterativeInOrderTraversal(BinaryTree *tree, void (*callback)(BinaryTree *tree)) { if(!tree) return; iterativeInOrderTraversal(tree->left, callback); callback(tree); iterativeInOrderTraversal(tree->right, callback); }
|