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")