Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 14.10.2013
Сообщений: 58
1

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

14.11.2016, 16:15. Просмотров 3212. Ответов 3
Метки нет (Все метки)

Доброго времени суток! Прошу помощи в выводе бинарного дерева на экран (в консоль).
Есть шаблон:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//-----------------------------------------------------------------------------------------------
    typedef int base;   // базовый тип элементов (атомов)
 
    struct s_expr;
    struct  binTree
    {
        s_expr *lt; // Указатель на левое поддерево
        s_expr *rt; // Указатель на правое поддерево
    };  //end of binTree;
 
    struct s_expr {
        bool tag; // true: Leaf, false: Inter
        union
        {
            base leaf;
            binTree inter;
        } node;     //end union node
    };          //end s_expr 
 
    typedef s_expr *lisp;
 
 
    //-----------------------------------------------------------------------------------------------
Я создал на его основе свою структуру:
C++
1
2
3
4
5
6
struct list
{
    char element;
    int count;
    lisp bt;
};
Как теперь вывести что-то похожее на дерево в консоль, что бы на каждом листке было element(count)?
Заранее спасибо =)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2016, 16:15
Ответы с готовыми решениями:

Вывод на консоль бинарного дерева
как сделать вывод на консоль бинарного дерева? struct Node { int d; Node* left; Node*...

АТД деревья. Вывод бинарного дерева в консоль
Здравствуйте, нужна помощь! Возможно тема заезженная, но извеняйте не чего путнего не...

Вывод бинарного дерева
Помогите, пожалуйста, с программой. Нужно вывести бинарное дерево так, как выводится дерево...

Вывод бинарного дерева
Как организовать вывод бинарного дерева?

3
53 / 53 / 19
Регистрация: 09.12.2015
Сообщений: 215
14.11.2016, 16:26 2
skorpion97,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//debug - функция отображения дерева, на входе дерево и кол-во элементов дерева
void us(FOREST *t,int u) 
{
    if (t==NULL) return; //Если дерево пустое, то отображать нечего, выходим
    else //Иначе
    {
        us(t->right,++u);//С помощью рекурсивного посещаем правое поддерево
        for (int i=0;i<u;++i) cout<<"|  ";
            cout<<t->point<<endl; //И показываем элемент
        u--;
    }
    us(t->left,++u); //С помощью рекурсии посещаем левое поддерево
}
2
1 / 1 / 0
Регистрация: 14.10.2013
Сообщений: 58
14.11.2016, 17:26  [ТС] 3
Ghost Writter, А можешь пожалуйста для моего случая ф-ию переписать?
0
1 / 1 / 0
Регистрация: 29.07.2017
Сообщений: 26
31.07.2020, 21:31 4
Ghost Writter, Большое спасибо тебе! Помог проверить окончательно АВЛ деревце. Смотрел, как остальные выводят, там кошмар, отдельно сидеть надо, разбирать... А тут просто и понятно.

P.S. Если кто-то не поймёт, то код выводит деревце не сверху вниз, а перевёрнутом на 90 градусов состоянии, слево на право.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2020, 21:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вывод бинарного файла на консоль
Имеется структура typedef struct { int n; char name; double price; ...

Реализация и вывод бинарного дерева
Помогите создать бинарное дерево и вывести его на экран по уровням. Заранее спасибо.

Вывод бинарного дерева на экран в виде "дерева"
основная задача: подсчет количества листьев. проблема: при просмотре хочу выводить бин. дерево, в...

Вывод в консоли красивого бинарного дерева
Я пробегаюсь по дереву (вычисляю количество уровней) и строю массив указателей на однонаправленный...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.