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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KateHamgeN
0 / 0 / 0
Регистрация: 25.09.2009
Сообщений: 15
#1

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

20.03.2011, 16:48. Просмотров 826. Ответов 2
Метки нет (Все метки)

Подскажите алгоритм распечатки дерева на экран горизонтально, не вертикально, как обычно это делают.
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++
Бинарное дерево C++
C++ Бинарное дерево
C++ Бинарное дерево
Бинарное дерево C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
bigredcat
364 / 311 / 3
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
20.03.2011, 18:35     Бинарное дерево #2
Очевидно где-то нужно вместо "\n" написать " ". Угадаете с двух раз?
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     Бинарное дерево
Ответ Создать тему
Опции темы

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