Бинарное дерево

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

{прошиваем лист}

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;.