Program listaprg; uses listau,crt; var lista,rendl:Tlista; n:integer; Procedure beolvasas(var lista:Tlista); var i:integer; elem:telem; Begin Write('Elemszam - a lista hossza: '); Readln(n); lista.ures; For i:=1 to n do Begin Write('Az ',i,'. elem: '); Readln(elem); lista.beszurmoge(elem); {nem kell kovetkezore, mert a beszurt elem lesz akt.} End; End; Procedure Beillesztrend(var lista:Tlista; var rendl:Tlista); Begin rendl.ures; If (not lista.ures_e) then begin lista.elejere; rendl.beszurmoge(lista.elemertek); {lista.kihagy; - igy a kov. elemre lep, nem kell a lista.kovetkezore!} lista.kovetkezore; While not lista.vege_e do Begin rendl.elejere; While (not rendl.vege_e) and (lista.elemertek>rendl.elemertek) do rendl.kovetkezore; If lista.elemertek<=rendl.elemertek then rendl.beszurele(lista.elemertek) else rendl.beszurmoge(lista.elemertek); {lista.kihagy} lista.kovetkezore; End; rendl.elejere; While (not rendl.vege_e) and (lista.elemertek>rendl.elemertek) do rendl.kovetkezore; If lista.elemertek<=rendl.elemertek then rendl.beszurele(lista.elemertek) else rendl.beszurmoge(lista.elemertek); {lista.kihagy} lista.kovetkezore; End; End; Procedure kiiras(lista:Tlista); Begin lista.elejere; While (not lista.vege_e) do Begin Writeln('lista.elemertek ',lista.elemertek); lista.kovetkezore; End; Writeln('lista.elemertek ',lista.elemertek); End; BEGIN clrscr; Beolvasas(lista); Beillesztrend(lista,rendl); Writeln('Eredeti lista: '); Kiiras(lista); Writeln('Rendezett lista: '); Kiiras(rendl); readkey; END.