Array zufällig sortieren

Sir Robin

Erfahrenes Mitglied
Hallo liebes Volk,

ich stehe vor einem Problem...ich soll nen sogenannten RandomSort machen...also praktisch ein Array zufällig sortieren...bloß, wie mach ich das mit VB?

Leider haben alle meine bisherigen Versuche noch nix gebracht, und weder google noch die Suchfunktion hier, haben mich weitergebracht...habt ihr vielleicht ne Lösung? Danke!
 
Hallo lieber Sir Robin,

ich würde das ganze folgendermassen angehen:
Erstmal baust Du Dir eine Schleife zusammen, die jedes einzelne Element aus dem ursprünglichen Array durchläuft. Dann suchst Du Dir eine zufällige Zahl als Index für das Ziel-Array raus und schreibst den Wert aus dem ursprünglichen Array dahin.
Dabei musst Du dann allerdings noch darauf achten, dass keine Zahl doppelt vorkommt, denn sonst wird der Wert im Ausgabe-Array ja wieder überschrieben.
 
vielleicht so:
Code:
Dim NeuesArray() as Byte 'oder was du da hast
Dim X as Long
Dim Index as Long
Randomize
Redim neuesarray (LBound(AlteArray) to UBound(AltesArray))
For X = LBound(AltesArray) to UBound(AltesArray)
    Index = Int(Rnd * (X - LBound(AltesArray + 1))) + LBound(AltesArray)
    NeuesArray(X) = NeuesArray(Index)
    NeuesArray(Index) = AltesArray(X)
Next
Sollte eigentlich zufällig genug sein
 
Zuletzt bearbeitet:
Zurück