Funktionreferenz


_ArraySwap

Beschreibung anzeigen in

Vertauscht die Elemente eines 1D Arrays und manche bzw die kompletten Zeilen bzw. Spalten eines 2D Arrays

#include <Array.au3>
_ArraySwap ( ByRef $aArray, $iIndex_1, $iIndex_2 [, $bCol = False [, $iStart = -1 [, $iEnd = -1]]] )

Parameter

$aArray zu änderndes Array
$iIndex_1 zu tauschender Index des ersten Elements (1D) oder Zeile bzw. Spalte (2D)
$iIndex_2 zu tauschender Index des zweiten Elements (1D) oder Zeile bzw. Spalte (2D)
$bCol [optional] Falls True beziehen sich obige Parameter auf Spalten (2D Array); Falls False (Standard) beziehen sich obige Parameter auf Zeilen
$iStart [optional] Index der Zeile bzw. Spalte bei der das tauschen beginnt (nur 2D Array)
$iEnd [optional] Index der Zeile bzw. Spalte bei der das tauschen endet (nur 2D Array)

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 - $iIndex_1 oder $iIndex_2 außerhalb der Arraygrenzen
4 - $iStart oder $iEnd außerhalb der Arraygrenzen
5 - $iStart ist größer als $iEnd

Bemerkungen

Die optionalen Parameters werden bei 1D Arrays ignoriert.

Verwandte Funktionen

_ArrayReverse

Beispiel

#include <Array.au3>

Local $aArray[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

_ArrayDisplay($aArray, "Original", Default, 8)
_ArraySwap($aArray, 3, 7)
_ArrayDisplay($aArray, "Getauscht 3 und 7", Default, 8)

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

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7)
_ArrayDisplay($aArray, "Getauscht Zeilen 3 und 7 in allen Spalten", Default, 8)

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, False, 2, 5)
_ArrayDisplay($aArray, "Getauscht Zeilen 3 und 7 in den Spalten 2 bis 5", Default, 8)

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, True)
_ArrayDisplay($aArray, "Getauscht Spalten 3 und 7 in allen Zeilen", Default, 8)

$aArray = $aArray_Base
_ArraySwap($aArray, 3, 7, True, 2, 5)
_ArrayDisplay($aArray, "Getauscht Spalten 3 und 7 in den Spalten 2 bis 5", Default, 8)