Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
lolers
0 / 0 / 0
Регистрация: 16.04.2010
Сообщений: 14
0

Бинарное Дерево(обход дерева)

22.04.2010, 21:14. Просмотров 1957. Ответов 4
Метки (Все метки)

добрый вечер всем!)
в универе задали написать бинарное дерево со всеми видами обхода и т.п. я их написал..
но еще дали 1 вывод его надо написать рекурсией, я его никак не могу реализовать.
поясняю:
например дерево:
7
/ \
6 8
надо вывести его в таком виде, но еще это дерево должно лежать на левом боку(просто нарисовать так трудно, написал так):

7
/ \
6 8
/ \ / \
@ @ @ @
т.е есть там где NULL вывести "@";

struct tree_node{ int val; tree_node *left,*right;}; - элемент дерева.
вот что до чего я дошел, только без выводов @..а просто дерево лежащее на левом боку.
C++
1
2
3
4
5
6
7
8
void print(tree_node *root,int b){  
   if (root!=NULL)
  { print (root->right,b+1); 
    for (int i=1; i<=b; i++) cout<<"  "; 
    cout<<root->val<<endl; 
    print (root->left,b+1);
    }
}
если кто нибудь знает как это реализовать или поменяй мой print, пож-та скажите.
Заранее спасибо.

Вернуться к обсуждению:
Бинарное Дерево(обход дерева)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2010, 21:14
Готовые ответы и решения:

Бинарное дерево. Обход бинарного дерева (симметрический, прямой и обратный)
Привет всем! Мне надо в курсовой работе написать программу, которая строит бинарное дерево (по...

Бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой
Дано бинарное дерево. Удалить из дерева часть вершин так, чтобы оставшееся дерево стало пирамидой.

Бинарное дерево в бинарном дереве: обход
Есть шаблонный класс бинарного дерева, описанный ниже. Все методы рабочие. template &lt;class T&gt;...

Бинарное дерево, расчёт суммы элементов дерева
Задание: Программа должна обрабатывать бинарное дерево, содержащее целые числа. Дополнительные...

Сформировать бинарное дерево поиска и определить максимальную глубину дерева
Добрый день всем. По задаче необходимо сформировать бинарное дерево поиска и определить...

4
Другие темы раздела
C++ Циклические операторы http://www.cyberforum.ru/cpp-beginners/thread120623.html
Нужна помощь. плз кому не трудно. Циклические операторы: 1) Вводится последовательность из N целых чисел. Найти наибольшее из всех отрицательных. 2) Вычислить...
C++ Посчитать, сколько слов содержит текст произвольной длины. Посчитать сколько слов, содержит текст поисзвольной длины. Разделителем между словами является символ пробела. Вывести на экран список всех встречающихся в тексте слов и их количество. Указание:... http://www.cyberforum.ru/cpp-beginners/thread120617.html
Составит матрицу C++
Дано матрица а и b надо умножит их чтобы найти с матрицу
с паскаля на Си++ C++
uses crt; var a:array of integer; i,n,max,min:integer; c:char; begin ClrScr; repeat writeln('Выберите действие:'); {меню} writeln('1-ввод массива целых чисел');
C++ некорректный вывод результата http://www.cyberforum.ru/cpp-beginners/thread120601.html
Суть программы: Пользователь вводит число (например 4), программа печатаем квадрат со сторонами соответственно 4*4 в виде * (звездочек). Теперь проблема: квадрат то выводит, а вот в конце еще символ...
C++ Вывод текста на экран во время ожидания нажатия клавиши. Языс C, компилятор Borland C++ 3.1 for DOS. Прошу помочь и ответить на мой вопрос. Я пишу игру, управление в игре стрелками на клавиатуре - я это реализвал через функцию getc() - и там уже узнаю... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru