Exemplo n.º 1
0
bool print_tree_levels(const Option<Tree<T>> tree, int level=-1)
{
    using namespace std;
    if (tree.is_none()) {
        cout << "  ";
        return false;
    } else if (level < 0) {
        cout << "printing tree levels" << endl;
        for (;;) {
            cout << "Level " << level + 1 << ": ";
            if (!print_tree_levels(tree, ++level)) {
                cout << endl;
                return false;
            }
            cout << endl;
        }
    } else if (level == 0) {
        cout << tree->deref() << " ";
        return true;
    } else {
        bool more_to_do = print_tree_levels(tree->left(), level-1);
        more_to_do |= print_tree_levels(tree->right(), level-1);
        return more_to_do;
    }
}
Exemplo n.º 2
0
void print_tree(const Option<Tree<T>> tree)
{
    using namespace std;
    if (tree.is_none()) {
        return;
    } else {
        print_tree(tree->left());
        cout << tree->deref() << endl;
        print_tree(tree->right());
    }
}