Форум программистов, компьютерный форум CyberForum.ru

Бинарное дерево - C++

Восстановить пароль Регистрация
 
KateHamgeN
 Аватар для KateHamgeN
0 / 0 / 0
Регистрация: 25.09.2009
Сообщений: 15
20.03.2011, 16:48     Бинарное дерево #1
Подскажите алгоритм распечатки дерева на экран горизонтально, не вертикально, как обычно это делают.
C++
1
2
3
4
5
6
struct tree
    {
        int k; //элемент дерева
        tree *left; 
        tree *right;
    };
вот обычный вертикальный, а вот как горизонтально распечатать у меня фантазии не хватает.
C++
1
2
3
4
5
6
7
8
9
10
11
void print (tree *p,int n)
{
    if (p)
    {
        print(p->right,n+1);
        for (int i=0;i<n;i++)
            cout<<"  ";
        cout<<p->k<<"\n";
        print(p->left,n+1);
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2011, 16:48     Бинарное дерево
Посмотрите здесь:

C++ Бинарное дерево
Бинарное дерево C++
C++ Бинарное дерево
бинарное дерево C++
C++ Дерево бинарное
Бинарное дерево C++
C++ бинарное дерево
C++ Бинарное дерево

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
20.03.2011, 18:35     Бинарное дерево #2
Очевидно где-то нужно вместо "\n" написать " ". Угадаете с двух раз?
KateHamgeN
 Аватар для KateHamgeN
0 / 0 / 0
Регистрация: 25.09.2009
Сообщений: 15
20.03.2011, 20:03  [ТС]     Бинарное дерево #3
я пробовала,но получается в одну строку, а мне надо как говорится, как на картинке
10
6 20
4 8 21
1
как-то так
Yandex
Объявления
20.03.2011, 20:03     Бинарное дерево
Ответ Создать тему
Опции темы

Текущее время: 19:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru