Seite 1 von 2
Sortieren von LinkedList
Verfasst: 10.08.2005 10:57
von Stonedar
Hi!
Ich habe hier nen kleines/großes Problem mit dem sortieren von einer LinkedList.
Ich habe hier eine relativ große LinkedList, die solche Einträge beinhaltet:
"sadasi3zu4awdz7sg"
"2ae342ad435gsdgf2"
Also Strings die aus Zahlen und Buchstaben zusammengemixt sind.
Nun würde ich gerne die ganze Liste sortieren, damit später das entfernen von doppelten Einträgen schneller geht.
Wie kann ich nun diese Liste sortieren?
Mit SortList hats nicht funktioniert...
Kann mir da einer helfen?
Gruß,
Stonedar
Verfasst: 10.08.2005 10:59
von Batze
Wieso hat das nicht funktioniert?

Verfasst: 10.08.2005 11:05
von Stonedar
Keine Ahnung ^^
ALso ich habe mal probeweise diese Liste eingegeben:
Code: Alles auswählen
atest
atest
atest
test2
test
test3
test4
test2
test2
test4
test2
Das wird dann im Prog ausgeführt:
Code: Alles auswählen
SortList(liste(), 3)
ResetList(liste())
While NextElement(liste())
Debug liste()
Wend
Und gibt folgendes aus:
Code: Alles auswählen
atest
test4
test3
test
test2
test2
test4
atest
test2
atest
test2
Also für mich ist das nicht sortiert ^^
Verfasst: 10.08.2005 11:16
von Caliban
Also bei mir gibt er das aus:
test4
test4
test3
test2
test2
test2
test2
test
atest
atest
atest
Code: Alles auswählen
NewList Daten.s()
For i=0 To 10
AddElement(Daten())
Read Daten()
Next i
SortList(Daten(),3)
ForEach Daten()
Debug Daten()
Next
DataSection
Data.s "atest","atest","atest","test2","test","test3"
Data.s "test4","test2","test2","test4","test2"
EndDataSection
edit: ups, hab vergessen alle Daten einzulesen.

Verfasst: 10.08.2005 11:22
von Stonedar
Also irgendwie habe ich das Gefühl das bei mir etwas nicht stimmt...
Ich habe jetzt deinen Code (Caliban) so wie er da steht, in PB kopiert und ausgeführt.
Er gibt bei mir was ganz anderes aus:
Woran könnte das liegen?
EDIT: Ah ok, dein Edit ist wohl der Fehler ^^
Damit ich ausschließen kann, dass es daran liegt:
Ich lese die Daten aus einer Datei in die Liste ein:
Code: Alles auswählen
OpenFile(100, Input$)
Repeat
AddElement(liste())
liste() = ReadString()
Until (Eof(100))
CloseFile(100)
Da dürfte alles klar sein oder net?
Danach führe ich "SortList(liste(), 3)" aus, und raus kommt, was ich oben stehen habe...
Verfasst: 10.08.2005 11:33
von rolaf
Caliban hat geschrieben:Also bei mir gibt er das aus:
test4
test4
test3
test2
test2
test2
test2
test
atest
atest
atest
Hallo,
nö bei mir kommt es mit Deinem Quellcode auch unsortiert (so wie eingelesen) heraus:
Code: Alles auswählen
atest
atest
atest
test2
test
test3
test4
test2
test2
test4
test2
Ich benutze Version PB 3.93 unter Win2000 SP4 + Rollup1, welche Ihr?
Verfasst: 10.08.2005 12:01
von Caliban
Win2000 SP4, PB 3.94 Beta 4
Verfasst: 10.08.2005 12:23
von Stonedar
WinXP SP2 PB 3.93
Obs an der Version 3.93 liegt?
Oder funktioniert es bei jemandem mit 3.93?
Verfasst: 10.08.2005 12:25
von rolaf
Stonedar hat geschrieben:WinXP SP2 PB 3.93
Obs an der Version 3.93 liegt?
Kann man nun wohl vermuten, naja in Kürze soll ja die 3.94 fertig sein.
Verfasst: 10.08.2005 12:44
von Caliban
Definitiev! Hab PB 3.93 installiert und gleichen Code ausprobiert, dort bekomme ich das gleiche Ergebnis wie ihr.