| Код | #include <iostream> #include <algorithm> #include <list>
struct tree { std::list<tree> children; };
size_t tree_height (const tree& root, size_t deep=0) { std::for_each (root.children.begin(), root.children.end(),[&](const tree& node){ deep = std::max(deep,tree_height(node,deep+1)); }); return deep; };
int main () { tree my_tree; tree my_inner_node; tree my_leaf; my_inner_node.children.push_back (my_leaf); my_tree.children.push_back (my_inner_node); std::cout << "tree height is " << tree_height (my_tree); }
|
|