Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Напечатать дерево
- // Сверху печатается левое поддерево
- // Справа печатается правое поддерево
- enum state { ROOT, LEFT, RIGHT };
- void print() {
- if (root != nullptr) print(root, "", ROOT);
- }
- void print(Node* node, std::string prefix, state last) {
- std::cout << prefix;
- if (last == ROOT) {
- } else if (last == LEFT) {
- std::cout << "|-- П: ";
- prefix.append(" ");
- } else {
- std::cout << "|-- Л: ";
- prefix.append("| ");
- }
- std::cout << node->name << " (Оценка: " << node->average_mark << ")" << std::endl;
- if (node->left == nullptr && node->right == nullptr) return;
- if (node->left != nullptr) print(node->left, prefix, RIGHT);
- else std::cout << prefix << "|-- Л: NULL" << std::endl;
- if (node->right != nullptr) print(node->right, prefix, LEFT);
- else std::cout << prefix << "|-- П: NULL" << std::endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement