Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2012, 14:47   #1
Лунатик13
 
Регистрация: 14.02.2012
Сообщений: 8
По умолчанию вывод бинарного дерева на экран.

Привет. У меня проблема мне нужно вывести бинарное дерево на экран, Не могу сделать. Туплю по полной. Помогите пожалуйста.
Код:
type

  pTree=^elTree;
  elTree=record
    sod: integer;
    left,right:pTree;
  end;
var

  i,x,otstup:integer;
  p:pTree;
procedure sozd(Var root:pTree; x:integer);
  begin
    if p=nil then
      begin
        new(root);
        p^.sod:=x;
        p^.left:=nil;
        p^.right:=nil;
      end
    else
      if x>=root^.sod then
         sozd(root^.right,x)
      else
         sozd(root^.left,x)
  end;


procedure print(p:ptree; o:integer);
  begin
    if p<>nil then
    begin
      print(p^.right,o+3);
      writeln(' ':o,p^.sod);
      writeln;
      print(p^.left,o+3);
    end;
  end;
Begin
p:=nil;
begin
sozd(p,x);
end;
readln;
print (p, otstup);
readln;
readln;
End.




___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.06.2012 в 14:58.
Лунатик13 вне форума Ответить с цитированием
Старый 10.06.2012, 02:16   #2
Herly
Форумчанин
 
Регистрация: 07.11.2009
Сообщений: 118
По умолчанию

Почитайте Вирта или загуглите обходы, которые закомментированы в коде ниже
мб поможет пример на СИ:
Код:
void LKP(proot Head)//левое корень правое
{
	if (Head!=NULL)
	{
		LKP(Head->LeftTree);
		printf("key: %i, ",Head->key);
		printf("value: %s\n",Head->Value);
		LKP(Head->RightTree);
	}
}

void KLP(proot Head)//корень левое правое
{
	if (Head!=NULL)
	{
		printf("key: %i, ",Head->key);
		printf("value: %s\n",Head->Value);
		KLP(Head->LeftTree);
		KLP(Head->RightTree);
	}
}

void LPK(proot Head)//левое правое корень
{
	if (Head!=NULL)
	{
		LPK(Head->LeftTree);
		LPK(Head->RightTree);
		printf("key: %i, ",Head->key);
		printf("value: %s\n",Head->Value);
	}
}
Если всё откладывать на потом, то потом будет всё.

Последний раз редактировалось Herly; 10.06.2012 в 02:21.
Herly вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
c++ ввод и вывод бинарного дерева в файл lblondy Помощь студентам 0 02.03.2012 01:34
Обход бинарного дерева CodeNOT Общие вопросы C/C++ 3 20.05.2011 07:55
вывод на экран бинарного дерева поиска CodeNOT Общие вопросы C/C++ 0 16.02.2011 23:22
Обход бинарного дерева cyt Паскаль, Turbo Pascal, PascalABC.NET 2 17.12.2010 03:29
Составление бинарного дерева [MI_nor] Общие вопросы C/C++ 1 08.05.2009 00:28