Funktionreferenz


_ArrayShuffle

Beschreibung anzeigen in

Mischt ausgewählte Zeilen des 1D oder 2D Arrays - kann auf eine spezifische Spalte in 2D Arrays begrenzt werden

#include <Array.au3>
_ArrayShuffle ( ByRef $aArray [, $iStart_Row = 0 [, $iEnd_Row = 0 [, $iCol = -1]]] )

Parameter

$aArray Array das geändert werden soll
$iStart_Row [optional] Start der Zeile ab der gemischt werden soll - Standardmäßig die Erste
$iEnd_Row [optional] Ende der Zeile bis zu der gemischt werden soll - Standardmäßig die Letzte
$iCol [optional] Spezifiziert die Spalte die gemischt werden soll (nur 2D)

Rückgabewert

Erfolg: 1.
Fehler: -1 und setzt das @error Flag auf ungleich null
@error: 1 - $aArray ist kein Array
2 - $aArray ist kein 1D oder 2D Array
3 - $iStart oder $iEnd ist außerhalb der Arraygrenzen
4 - $iStart größer als $iEnd
5 - $iColumn ist außerhalb der Arraygrenzen

Bemerkungen

Die Funktion nutzt den Fisher-Yates misch Algorithmus.

Beispiel

#include <Array.au3>

Local $aArray_Base[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
_ArrayDisplay($aArray_Base, "1D - Original", Default, 8)

Local $aArray = $aArray_Base
_ArrayShuffle($aArray)
_ArrayDisplay($aArray, "1D - vermischt", Default, 8)

$aArray = $aArray_Base
_ArrayShuffle($aArray, 3, 8)
_ArrayDisplay($aArray, "1D - vermischt - 3-8 ", Default, 8)

Local $aArray_Base[10][10]
For $i = 0 To 9
    For $j = 0 To 9
        $aArray_Base[$i][$j] = $i
    Next
Next
_ArrayDisplay($aArray_Base, "2D - Original", Default, 8)

$aArray = $aArray_Base
_ArrayShuffle($aArray)
_ArrayDisplay($aArray, "2D - vermischt - Alle Zeilen", Default, 8)

$aArray = $aArray_Base
_ArrayShuffle($aArray, 3, 8, 2)
_ArrayDisplay($aArray, "2D - vermischt - Spalte 2, 3-8", Default, 8)