Бинарное дерево
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
{прошиваем лист}
begin
stop := false;
rightPointer(root, i);
end;
writeln(' ',v);
if lf = true then {если узел или лист прошит}
exit; {выходим}
Threading(right);
end;;
{------------- формирование дерева ---------------}Cycle;i := 1 to n do
Insert(root, m[i]);;
{----------------------------------------------------}
Cycle;
{определим высоту дерева обходом сверху-вниз}
PrintDown(1, root);
writeln('Выберите действие');
while true do
begin
writeln('1 - провести обход, 2 - отобразить дерево, 3 - выполнить прошивку, 4 - выход');
readln(answ);
case answ of
1 :
begin
if st = true then
writeln('Обход невозможен - дерево прошито')
else
begin
writeln('Выберите обход: 1 - сверху-вниз, 2 - слева-направо, 3 - снизу-вверх');
readln(answ2);
case answ2 of
1 :
begin
writeln('Обход сверху-вниз:');
PrintDown(1, root);
end;
2 :
begin
writeln('Обход слева-направо:');
PrintLex(1, root);
end;
3 :
begin
writeln('Обход снизу-вверх:');
PrintUp(1, root);
end;
end;
end;
end;
2 :
if st = true then
writeln('Дерево прошито - его представление невозможно')
else
begin
writeln('Представление дерева:');
{вызоваем процедуру представления дерева}
ViewTree(root);
end;
3 :
begin
if st = true then
writeln('Дерево уже прошито')
else
begin
writeln('Прошивка:');
i := 0;
j := 0;
Threading(root);
st := true;
end;
end;
4 : exit;
end;
writeln;
end;.