Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program eigeneListe (input, output);
- type
- tRefListe = ^tListe;
- tListe = record
- Info : Integer;
- next : tRefListe;
- end;
- var
- RefListe : tRefListe;
- first : tRefListe;
- procedure ListeEinlesen (var iOutRefliste : tRefliste);
- var
- eingabe : char;
- wert : integer;
- begin
- repeat
- Write ('Ist es eine Leere Liste? Tippen Sie "y" = yes und "n" = no: ');
- readln (Eingabe);
- until (eingabe = 'y') or (eingabe = 'n');
- if eingabe = 'y' then
- begin
- repeat
- Write ('Geben Sie einen Wert des Listenelementes ein >= 0, Eingabe Beenden mit -1: ');
- readln (wert);
- if wert >= 0 then
- begin
- new (iOutRefliste);
- iOutRefliste^.Info := Wert;
- iOutRefliste^.Next := first;
- first := iOutRefliste;
- writeln (iOutRefliste^.Info);
- end;
- first := iOutRefliste; {First zeigt auf das Zuletzt eingegebene}
- until wert <= 0;
- Writeln ('Einlesen wurde Beendet')
- end {If (Y) --> Liste hat Werte!}
- else
- iOUtRefliste := NIL;
- end;
- procedure ListeAusgeben (inRefliste : tRefListe);
- begin
- inRefliste := first; {inRefListe zeigt auf das Erste ListenElement}
- Writeln ('>> Ausgabe der Liste <<');
- while (inRefliste <> NIL) do
- begin
- writeln (inRefliste^.Info);
- inRefliste := inRefliste^.Next;
- end;{WHILE ---> Ende der Liste}
- end;{Ende Procedure Ausgabe}
- procedure ListeSortieren (iOutRefliste : tRefListe);
- var
- Zeiger : tRefListe;
- begin
- Zeiger := IOutRefliste;
- Writeln ('YEAAAAAAAAAAA');
- if (IOutRefliste = NIL) then
- writeln ('Die Liste ist leer')
- else
- begin
- while (zeiger^.Next <> NIL) do
- begin
- writeln ('IN WHILE');
- {Fall 1: IOutRefliste > Kleiner als nächstes Element, dann mache nichts }
- if IOutRefliste^.Info <= Zeiger^.Next^.Info then
- begin
- writeln ('Es wird nichts verändert');
- zeiger := zeiger^.Next;
- end;
- end; {While Schleife}
- end; {Ende Else (Liste nicht leer)}
- end; {ListeSortieren}
- begin
- first := nil;
- ListeEinlesen (Refliste);
- ListeSortieren (Refliste);
- ListeAusgeben (Refliste);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement