Показать сообщение отдельно
Старый 25.08.2015, 17:03   #1 (permalink)
Asya_inter
Member
 
Аватар для Asya_inter
 
Регистрация: 12.01.2015
Сообщений: 71
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Уточнение: является ли деревом сортировки

Здравствуйте, проверьте пожалуйста. Верно ли сделано? Дано такое задание: Построить двоичное дерево сортировки.

Вот решение:
Код:
program trees;

type
   pTree = ^Tree;
   Tree = record
      name: integer;
      left: pTree;
      right: pTree
   end;

var
   s: integer;
   t: pTree;
   n, i: integer;

procedure insert(var T: pTree; x: integer);
begin
   if T = nil then begin
      new(T);
      T^.name := x;
      T^.left := nil;
      T^.right := nil;
   end
   else  if T^.name >= x then
      insert(t^.left, x)  
   else insert(t^.right, x);
end;

procedure obhod(t: Ptree);
begin
   if T <> nil then begin
      obhod(T^.left);
      write(t^.name,',');
      obhod(t^.right);
   end;
end;

begin
   write('kol-vo chisel: ');
   read(n);
   t := nil;
   for i := 1 to n do 
   begin
      read(s);
      insert(t, s);
   end;
   write('result. sortirovki: ');
   obhod(t);
   readln;
end.
Asya_inter вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070