Program FunList; Type tPItem = ^tItem; tItem = Record Next : tPItem; Content : String End; Var Root : tPItem; Item : tPItem; Procedure InsertItem ( Var List : tPItem; NewItem : tPItem ); Begin If (List <> Nil) And (NewItem^.Content > List^.Content) Then InsertItem(List^.Next,NewItem) Else Begin NewItem^.Next := List; List := NewItem End End; Procedure ShowList ( List : tPItem ); Begin If List <> Nil Then Begin WriteLn(List^.Content); ShowList(List^.Next) End End; Begin Root := Nil; While Not Eof Do Begin Item := New(tPItem); ReadLn(Item^.Content); InsertItem(Root,Item) End; ShowList(Root); While Root <> Nil Do Begin Item := Root; Root := Root^.Next; Dispose(Item) End End.