01.02.2014, 20:07 | #1 (permalink) |
Новичок
Регистрация: 24.01.2014
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Pascal. Динамические списки
Код:
Uses crt; type tinf=integer; uk=^rec; rec=record x:integer; adr:uk; end; Var first, p1, p2, p3, l, q:uk; f:text; procedure SOZD_SPIS ; begin assign(f,'dinspis.txt'); reset(f); first:=nil; while not seekeof(f) do begin new(p1); read(f,p1^.x); if first=nil then first:=p1 else p2^.adr:=p1; p2:=p1; end; p2^.adr:=nil; close(f); end; Procedure VIVOD(t:string) ; begin writeln(t); p1:=first; while p1<>nil do begin write (p1^.x, ' '); p1:=p1^.adr; end; writeln; end; procedure AddElem(var spis1:uk;znach1:tinf); var p,t:uk; begin new(t); t^.x := znach1; p:=spis1; if (p = nil) or (p^.adr = nil) then begin t^.adr:=spis1; spis1:=t; end else begin while p^.adr^.adr <> nil do p:=p^.adr; t^.adr := p^.adr; p^.adr := t; end; end; Begin SOZD_SPIS; VIVOD('исходн'); l:=nil; addelem(l, 1); q:=l; while q<>nil do begin write(q^.x:4); q:=q^.adr; end; writeln; readln; VIVOD('после вставки'); readkey; End. |
01.02.2014, 20:07 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Рекомендую обратить особое внимание на похожи темы Динамические головки НЧ 50 ZT-1 Динамические переменные. Free Pascal Динамические структуры данных Pascal,ссылки, списки |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|