Echange les éléments d'un tableau 1D ou échange complet ou partiel de deux lignes ou deux colonnes dans un tableau 2D
#include <Array.au3>
_ArraySwap ( ByRef $aArray, $iIndex_1, $iIndex_2 [, $bCol = False [, $iStart = -1 [, $iEnd = -1]]] )
$aArray | Tableau à traiter |
$iIndex_1 | Index du premier élément (1D) ou de la première ligne/colonne (2D) à échanger |
$iIndex_2 | Index du second élément (1D) ou de la seconde ligne/colonne (2D) à échanger |
$bCol | [optionnel] Si True alors, pour un tableau 2D, les paramètres suivants font référence à des colonnes; si False (par défaut) les paramètres suivants font référence à des lignes |
$iStart | [optionnel] Index de la ligne ou de la colonne où démarrer l'échange (tableau 2D seulement) |
$iEnd | [optionnel] Index de la ligne ou de la colonne où arrêter l'échange (tableau 2D seulement) |
Succès: | Retourne 1 |
Échec: | Retourne -1 et définit @error <> 0. |
@error: | 1 - $aArray n'est pas un tableau 2 - $aArray n'est pas un tableau 1D ou 2D 3 - $iIndex_1 ou $iIndex_2 en dehors des limites du tableau 4 - $iStart ou $iEnd en dehors des limites du tableau 5 - $iStart est supérieur à $iEnd |
Les paramètres optionnels sont ignorés pour des tableaux 1D.
#include <Array.au3> Local $aArray[10] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] _ArrayDisplay($aArray, "Initial", Default, 8) _ArraySwap($aArray, 3, 7) _ArrayDisplay($aArray, "Echangé 3 et 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, "Initial", Default, 8) $aArray = $aArray_Base _ArraySwap($aArray, 3, 7, False) _ArrayDisplay($aArray, "Echangé Lignes 3 et 7 dans toutes les colonnes", Default, 8) $aArray = $aArray_Base _ArraySwap($aArray, 3, 7, False, 2, 5) _ArrayDisplay($aArray, "Echangé Lignes 3 et 7, dans les colonnes 2 à 5", Default, 8) $aArray = $aArray_Base _ArraySwap($aArray, 3, 7, True) _ArrayDisplay($aArray, "Echangé Cols 3 et 7 dans toutes les lignes", Default, 8) $aArray = $aArray_Base _ArraySwap($aArray, 3, 7, True, 2, 5) _ArrayDisplay($aArray, "Echangé Cols 3 et7 dans les lignes 2 à 5", Default, 8)