UDF > Array >


_ArrayPermute

Retourne le tableau contenant les permutations de tous les �l�ments d'un tableau 1D

#include <Array.au3>
_ArrayPermute ( ByRef $aArray [, $sDelimiter = ""] )

Param�tres

$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.

Valeur de retour

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

Remarques

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.

En relation

_ArrayCombinations

Exemple

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