![]() |
|
#1
|
|||
|
|||
![]() Здравствуйте,
Подскажите, пожалуйста, можно ли создать односвязный список элементами которого являются бинарные деревья? (на Паскале) |
#2
|
||||
|
||||
![]() Подсказываю: Можно.
P.S. Какая списку разница, какие у него элементы? Ставишь элементом указатель на вершину дерева, и вот список деревьев готов. jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
![]() я описала такой тип:
Код:
type ukoz=^elem; uk=^bt; bt=record inf:integer; l,r:uk; end; elem=record info:uk; next:ukoz; end; я создала первый элемент в списке. Он записался, а со второго начинается ошибка: Код:
procedure add_sort(var beg:ukoz;x:integer); var p,q:ukoz; begin new(p); p^.info^.l:=nil;p^.info^.r:=nil; -вот с этого места p^.next:=nil; Сам фрагмент программы: Код:
procedure sozd; var x:integer; begin beg:=nil;read(x); while x<>0 do begin add_sort(beg,x); read(x); end; end; procedure add_sort(var beg:ukoz;x:integer); var p,q:ukoz; begin new(p); p^.info^.l:=nil;p^.info^.r:=nil; p^.next:=nil; p^.info^.inf:=x; if beg=nil then beg:=p else if beg^.info^.inf>x then begin p^.next:=beg; beg:=p; end else begin q:=beg; while (q^.next<>nil) and(x>q^.next^.info^.inf)do q:=q^.next; p^.next:=q^.next; q^.next:=p; end; end; lmikle: пользуемся тегами!!! Подскажите в чем проблема? и как от нее избавиться Последний раз редактировалось lmikle, 12.12.2011 в 18:10. |
#4
|
|||
|
|||
![]() Откуда в процедуре sozd появляется переменная beg? Она что, глобальная?
|