Bonjour, j'ai un programme qui consiste à générer les permutations possibles de n éléments. Mon problème c'est que je veux stocker cet ensemble de permutations dans tableau , ou vecteur ...j'ai essayé beaucoup de méthodes mais sans solution , toujours le vecteur est vide . est ce qu'il ya qcq qui peut m'aider SVP .merci d'avance .

Voila le code :


public class Permutations {

String[] liste;
public void perm2(String s, String[] liste, int j)
{
int N = s.length();
char[] a = new char[N];
for (int i = 0; i < N; i++)
a[i] = s.charAt(i);

perm2(a, N,liste,j);



}

public void perm2(char[] a, int n, String[] liste, int j)
{
if (n == 1) {
System.out.println(a);

liste[j]=String.valueOf(a);
j++ ;
return;
}
for (int i = 0; i < n; i++) {
swap(a, i, n-1);
perm2(a, n-1,liste,j);
swap(a, i, n-1);
}
}

// swap the characters at indices i and j
public void swap(char[] a, int i, int j)
{
char c;
c = a[i]; a[i] = a[j]; a[j] = c;
}



public static void main(String[] args)
{
Permutations per=new Permutations();
String elements = "123";
String[] liste= new String[6]; //factoriel de 3

per.perm2(elements,liste,0);
System.out.println("**************");
for (int i=0;i<liste.length;i++)
System.out.println(liste[i]);
}
}

Voila résultat affichage :
231
321
312
132
213
123
**************
123
null
null
null
null
null

la liste ne contient que la dernière permutation trouvé;

est ce qu'il ya possibilité de faire une fonction qui retourne l'ensemble de permutations .