![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.12.2011
Сообщений: 14
|
![]()
Задание. Множество целых чисел представить в виде бинарного дерева поиска и на основе этого представления упорядочить это множество по убыванию.
Что не правильно в этом коде? Код HTML:
uses crt;
type
tnode = ^node;
node = record
data: integer;
left: tnode;
right: tnode;
end;
var a:integer; root:tnode;
function new_comp(r:tnode; data:integer):tnode;
begin
if r=nil then
begin
new(r);
r^.data:=data;
r^.left:=nil;
r^.right:=nil;
end
else
begin
if data <= r^.data then
begin
new_comp(r^.left,data); end
else
begin
new_comp(r^.right,data);end;
end;
end;
procedure destroy_tree(r:tnode);
BEGIN
IF r<>NIL THEN
BEGIN
destroy_tree (r^.left);
destroy_tree (r^.right);
dispose(r);
END;
END;
procedure show_tree2(r:tnode;i:integer);
var k:integer;
begin
if r<>nil then
begin
show_tree2(r^.right,i+1);
for k:=1 to i do Write(' ');
writeln(r^.data);
show_tree2(r^.left,i+1);
end;
end;
procedure Obhod (w:tnode);
begin
if w<>nil then
begin
Obhod (w^.right);
writeln(w^.data);
Obhod (w^.left); end;
end;
begin
root:=Nil;
repeat
writeln('vvedite chislo: ');
readln(a);
root:=new_comp(root,a);
until a=0;
show_tree2(root,0);
writeln;
Obhod(root);
writeln;
writeln;
destroy_tree(root);
writeln;
writeln;
end.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
бинарное дерево | Intess | Помощь студентам | 0 | 23.05.2011 15:58 |
бинарное дерево | Lucefer2007 | Общие вопросы C/C++ | 0 | 17.04.2011 14:31 |
бинарное дерево СИ | Anastasia.K | Помощь студентам | 0 | 31.10.2009 18:16 |
Бинарное дерево | Lazio | Общие вопросы C/C++ | 2 | 10.09.2009 20:31 |