Forum: PC-Programmierung Sortieren der Einträge in einer einfach verketteten Liste


von Hans M. (fuxdancer)


Lesenswert?

Hallo!
Könnte mir jemand einen einfach Algorithmus (wenn möglich in der 
Programmiersprache C) zeigen, mit welchem man in einer einfach 
verketteten Liste die Listeneinträge nach einer ID sortieren kann 
(Unsigned Integer)?

von STK500-Besitzer (Gast)


Lesenswert?

Ist der nicht sogar im K&R beschrieben?

von Hans M. (fuxdancer)


Lesenswert?

Hab mich jetzt schon ein bisschen schlau gemacht und bin auf den 
BubbleSort-Algorithmus gestoßen. Dieser sollte hoffentlich 
funktionieren!

von DirkB (Gast)


Lesenswert?

Du fängst beim ersten Eintrag an
- und vergleichst ihn mit dem darauffolgenden.
- Evtl. vertauschen (Zeiger verbiegen)
- Dann gehst du einen Eintrag weiter und vergleichst ... (siehe zweite 
Zeile)
Das machst du solange, wie Elemente vertauscht wurden.


STK500-Besitzer schrieb:
> Ist der nicht sogar im K&R beschrieben?

Hab ich gerade auf die Schnelle nicht gefunden.

von STK500-Besitzer (Gast)


Lesenswert?

DirkB schrieb:
>> Ist der nicht sogar im K&R beschrieben?
>
> Hab ich gerade auf die Schnelle nicht gefunden.

Meiner liegt im Auto...

von STK500-Besitzer (Gast)


Lesenswert?

Hans M. schrieb:
> Hallo!
> Könnte mir jemand einen einfach Algorithmus (wenn möglich in der
> Programmiersprache C) zeigen, mit welchem man in einer einfach
> verketteten Liste die Listeneinträge nach einer ID sortieren kann
> (Unsigned Integer)?

Übrigens sollte man so eine Liste schon beim erstellen sortieren.

von Hans-Georg L. (h-g-l)


Lesenswert?

Hier sind verschiedene Sortieralgorithmen recht anschaulich erklärt ;)

http://www.youtube.com/watch?v=lyZQPjUT5B4

von Hans M. (fuxdancer)


Lesenswert?

Danke diese Seite ist wirklich hilfreich!!!

von Daniel F. (df311)


Lesenswert?

ich würde den schon erwähnten bubblesort oder evtl. einen modifizierten 
selectsort (bereits sortierte elemente aus der ursprünglichen liste 
entfernen und an eine neue anhängen) verwenden...

wegen der linked-list-struktur sollte der zusätzliche speicherbedarf 
minimal sein.

von Klaus W. (mfgkw)


Lesenswert?

Eine ganz andere Frage ist, ob eine Liste die beste Struktur ist, wenn 
Daten sortiert werden müssen.

Wer sagt, daß es eine Liste sein muß, und warum?

von DirkB (Gast)


Lesenswert?

STK500-Besitzer schrieb:
> Meiner liegt im Auto...

Ich habs im K&R nicht gefunden. Den (1. Auflage, deutsch) hatte ich in 
der Hand.

von Arc N. (arc)


Lesenswert?

Klaus Wachtler schrieb:
> Eine ganz andere Frage ist, ob eine Liste die beste Struktur ist, wenn
> Daten sortiert werden müssen.

Merge Sort funktioniert damit (einfach verketteten Listen) wunderbar in 
O(n log n)...

> Wer sagt, daß es eine Liste sein muß, und warum?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.