Geordnetes Einfügen in eine Liste            



PROCEDURE Anfuegen(Inhalt: T_Inhalt; VAR L: T_Liste);                                             

VAR Neu_L,hilf_L : T_liste;

    BEGIN

      IF L=NIL   THEN

         BEGIN

             New(L);

             L^.Name:= Inhalt;

             L^.Nachfolger:=NIL;

         END

  ELSE

         BEGIN

            New(Neu_L);

            Neu_L^.Name:= Inhalt;

            IF L^.Name> Inhalt    THEN

                BEGIN

                   Neu_L^.Nachfolger:=L;

                   L:=Neu_L;

               END

            ELSE

               BEGIN

                  hilf_L:=L;

                  WHILE (hilf_L^.Nachfolger <> NIL) AND (hilf_L^.Nachfolger^.Name < Inhalt)

                  DO hilf_L:=Hilf_L^.Nachfolger;

                  Neu_L^.Nachfolger:=hilf_L^.Nachfolger;

                  hilf_L^.Nachfolger:=Neu_L;

              END;

        END;

END;


    MCG BuMü zurück