Zeiger..Zeiger..Zeiger

Hallo Programmierexperten!

Versuche mir gerade eine Programmiersprache beizubiegen. Bin gerade beim Thema Zeiger angelangt. Die Beispiele im Buch verstehe ich alle, aber jetzt wollte ich mal was eigenes dazu schreiben, und weiss einfach nicht mehr weiter. Mir fehlt der Algorithmus dazu eine lineare Liste, deren Elemente einen Integer enthalten, zu sortieren. Also nicht die Liste schon beim Erstellen zu sortieren, sondern eine bereits existierende Liste.
Ich denke für Programmierfüchse wie euch kein Problem, oder ?

Vielen Dank
Maik

Hallo Maik,

für dein Problem gibt es zwei Möglichkeiten:

  1. Entweder du sortierst die Liste selbst, z.B: Merkst dir das erste Element. Nun merkst du dir das Vorelement zum Höchsten.
    Das Erste Element wird das Höchste und der Nachfolger des Vorelements wird das erste. Beachte hierbei die Nachfolger!
    Dann machst du es weiter mit dem zweiten, usw.

  2. Machst eine neue Liste, in die du dann die Elemente einfügst, z.B: Das höchste Element aus der Liste wird zum ersten in der neuen Liste. Du löschst das höchste Element aus der alten Liste und machst solange weiter, bis die alte Liste leer ist.

Gruß Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Thomas !

Vielen Dank für die Tips. Nach tagelangem Überlegen ist es mir heute Mittag gelungen das kleine Programm selbst zu schreiben. Und es funktioniert.
Ich habe es in etwa so gemacht, wie du in deinem zweiten Tip beschrieben hast. Nämlich mit der neuen Liste. Ich bin froh, dass das eine gängige Lösung zu sein scheint.
Allerdings habe ich nicht das Maximum gesucht, sondern das Minimum. Dabei habe ich eine ganze Menge an Hilfszeigern verbraten. Weisst du zufällig, ob es mit dem Maximum eleganter geht ? Und gibt es vielleicht eine „auscodierte“ Lösung, die du mir empfehlen kannst. Ich habe nämlich immer das Problem, dass ich sehr umständlich schreibe. Und nun würde ich gerne mal sehen, wie der „Standart“ so aussieht.(am besten in C++)

Vielen dank
Maik