Структуры и алгоритмы обработки данных


Представление бинарных деревьев - часть 2


               if pnt_n^.right <> nil then

                          node_search (pnt_n^.right,current_s);

         end

else current_s:=pnt_n;

end;

procedure node_list (pnt_s:pointer);

{Вывод списка всех узлов дерева}

var

          pnt_n:^node;

begin

pnt_n:=pnt_s; writeln(pnt_n^.name);

if pnt_n^.left <> nil then node_list (pnt_n^.left);

if pnt_n^.right <> nil then node_list (pnt_n^.right);

end;

procedure node_dispose (pnt_s:pointer);

{Удаление узла и всех его потомков в дереве}

var

           pnt_n:^node;

begin

if pnt_s <> nil then

          begin

                  pnt_n:=pnt_s; writeln(pnt_n^.name);

                  if pnt_n^.left <> nil then

                           node_dispose (pnt_n^.left);

                  if pnt_n^.right <> nil then

                           node_dispose (pnt_n^.right);

                 dispose(pnt_n);

         end

end;

begin

new(current);root:=current;

current^.name:='root';

current^.left:=nil;




Начало  Назад  Вперед



Книжный магазин