Страница 1 из 1

Бинарное(двоичное) дерево

Добавлено: 22 апр 2008, 16:06
scudo
Помагите разобратся с ним.
Ввожу заявки на авио-билеты:
направление(napr)
город(gorod)
номер рейса(nom_r)
ФИО(fio)
Дата вылета(data_vil)

_________()
________/ \
_______() ()
______/ \ / \
_____() () () ()
Двоичное дерево(я не художник,ну примерн так).

Слева юг, с права север. Работа с динамической памятью.
Я кое что написал.Поправте где неправильно или укажите чего нехватает.

Код: Выделить всё

type
  zayavka=^zvk;
  zvk=record
  left,right:zayavka;
  napr:String;
  gorod:String;
  nom_r:Integer;
  fio:String;
  dat_vil:Integer;
end;

procedure sozd(t:zayavka);
begin
  New(head);
  head^.left:=nil;
  head^.right:=nil;
end;

procedure ins_tree(var t1,t2:zayavka);
begin
 While k=0 do
   begin
     t1:=head; t2:=head;
     New(t1^.left); New(t2^.right);
     t1:=t1^.left;
     t2:=t2^.right;
     Write('Направление:');Readln(t1.napr);  
     Write('Город: '); Readln(t1.gorod);
     Write('Номер рейса:'); Readln(t1.nom_r);
     Write('ФИО:'); Readln(t1.fio);
     Write('Дата вылета: '); Readln(t1.data_vil);
     {------------------------------------------------}
     Write('Направление:');Readln(t2.napr);  
     Write('Город: '); Readln(t2.gorod);
     Write('Номер рейса:'); Readln(t2.nom_r);
     Write('ФИО:'); Readln(t2.fio);
     Write('Дата вылета: '); Readln(t2.data_vil);

     Writeln('Хотите выйти?');
     если да, то k:=1 иначе k:=0;

end;
:confused: