Вывод дерева в консоль

Здравствуй, помогите как вывести "нормально" дерево в консоль. У меня получается только так:

введите сюда описание изображения

А вот код:

void printNode(ostream& stream, TNode<T>* node, size_t level){
        if (node != nullptr) {
            printNode(stream, node->Right, level + 1);
            stream << endl;
            if (node == root)
                stream << "Корень -> ";
            for (size_t i = 0; i < level && node != root; i++)
            stream << "    ";
            stream << node->Key << "(" << node->height << ")";
            printNode(stream, node->Left, level + 1);
        }

Нормально это как-то так: введите сюда описание изображения


Ответы (1 шт):

Автор решения: Chorkov

Не учтена длинна слова "Корень -> ".

        if (node == root)
            stream << "Корень -> ";
        else
            stream << "          ";
→ Ссылка