Retourne le tableau contenant les permutations de tous les éléments d'un tableau 1D
#include <Array.au3>
_ArrayPermute ( ByRef $aArray [, $sDelimiter = ""] )
$aArray | Le tableau dont les éléments sont à permuter. |
$sDelimiter | [optionnel] Séparateur à utiliser dans les chaînes résultats, par défaut est "" pour aucun séparateur. |
Succès: | Retourne le tableau des permutations. La position [0] contient le nombre de chaînes retournées. Les autres éléments du tableau contiennent les permutations sous forme de chaînes. |
Échec: | Définit @error <> 0. |
@error: | 1 - L'entrée doit être un tableau 2 - $aArray n'est pas un tableau 1D |
Le tableau d'entrée doit être de base 0, c'est à dire qu'il ne doit pas y avoir le nombre d'éléments en position [0].
Utilise l'algorithme de Alexander Bogomolny ( http://www.bearcave.com/random_hacks/permute.html).
Si le tableau d'entrée a n éléments tous différents, le nombre de permutations de ces n éléments est:
n! = n x (n-1) x (n-2) x ... x 3 x 2 x 1
Si les éléments du tableau d'entrée ne sont pas tous différents, on obtient des doublons dans le tableau des permutations.
; Déclare un tableau 1D, retourne le tableau des permutations #include <Array.au3> Local $aArray[4] = [1, 2, 3, 4] Local $aNewArray = _ArrayPermute($aArray, ",") ; Utilisation des paramètres par défaut _ArrayDisplay($aNewArray, "Tableau des permutations")