Listen_Paket Cursor Testprog 2008-12-19 16:46:37 with Ada.Text_IO, Ada.Integer_Text_IO, Listen_Paket; use Ada.Text_IO, Ada.Integer_Text_IO; procedure Test is package Int_Liste is new Listen_Paket (Natural, "<", "="); use Int_Liste; procedure Ausgabe (A : in out Natural) is begin Put (A, 0); New_Line; end Ausgabe; Num, Num2 : Liste := Neue_Liste; C : Cursor; I : Natural; begin Put_Line ("Liste befuellen:"); Anhaengen_Vorne (Num, 2); Anhaengen_Vorne (Num, 1); Anhaengen_Hinten (Num, 4); Sortiert_Einfuegen (Num, 3); Anhaengen_Hinten (Num, 5); Bearbeite_Elemente (Num, Ausgabe'Access); New_Line; Put_Line ("Liste vorwaerts durchgehen:"); C := Cursor_Listen_Anfang (Num); I := 0; while Ist_Cursor_Zulaessig (C) loop I := I + 1; Gehe_Vorwaerts (C); end loop; Put (I, 0); New_Line (2); Put_Line ("Liste rueckwerts durchgehen:"); C := Cursor_Listen_Ende (Num); I := 0; while Ist_Cursor_Zulaessig (C) loop I := I + 1; Gehe_Rueckwerts (C); end loop; Put (I, 0); New_Line (2); Put_Line ("Liste mit Inhalt_An_Cursor ausgeben:"); C := Cursor_Listen_Anfang (Num); while Ist_Cursor_Zulaessig (C) loop Put (Inhalt_An_Cursor (C), 0); New_Line; Gehe_Vorwaerts (C); end loop; New_Line (2); Loesche (Num, 4); Put_Line ("Loeschen von Element ""4"":"); Bearbeite_Elemente (Num, Ausgabe'Access); New_Line; Put_Line ("Hinzufuegen von 3 ""4"" Elementen:"); Sortiert_Einfuegen (Num, 4); Anhaengen_Vorne (Num, 4); Anhaengen_Hinten (Num, 4); Bearbeite_Elemente (Num, Ausgabe'Access); New_Line; Put_Line ("Loeschen von Element ""3"" und ""4"":"); Loesche (Num, 4); Loesche (Num, 3); Bearbeite_Elemente (Num, Ausgabe'Access); New_Line; Anhaengen_Hinten (Num, 2); Anhaengen_Hinten (Num, 1); Liste_Anhaengen (Num, Num2); Put_Line ("Liste mit ""2"" und ""1"" anhaengen:"); Bearbeite_Elemente (Num, Ausgabe'Access); New_Line; end Test;