Показать сообщение отдельно
  #1  
Старый 12.12.2010, 22:47
dubfire dubfire вне форума
Прохожий
 
Регистрация: 10.10.2010
Сообщения: 14
Репутация: 10
Сообщение Замена мин ключа ,на макс ключ !

Нужно поменять местами информацию, содержащую максимальный и мини-мальный ключи.

Код:
procedure ctree.zamena(memo1:Tmemo);
procedure d(p:ttree; memo1:Tmemo);
var
result1,result2:integer;  p1,p2,q:ttree;
 begin
 begin
p:=proot;
	    While p^.A1<>Nil do p:=p^.A1;  //поиск минимального ключа
	    Result1:=p^.Inf; p1:=p;
      end;
      begin
       p:=proot ;
      While p^.A2<>Nil do p:=p^.A2;  //поиск максимального ключа
	    Result2:=p^.Inf;    p2:=p;
           end;
         q:=p1; p1:=p2; p2:=q;     //замена
             memo1.Lines.add(p.fio+'  '+inttostr(p.inf));  //вывод
end;
begin
d(p,memo1);
end;
end;

вот только выводит не всё дерево ,а максимальный ключ так как p последним присваисвался макс ключу,а как вывести всё дерево?
(срочно надо,зарание спс)
Ответить с цитированием