On commence a faire un permute(0), c'est a dire un permute à partir de l'indice 0
ça fait:
for (int j = 0; j < 3; j++) {
swap(0, j);
permute(1);
swap(j, 0);
}
Donc ca fait
On a au départ [0, 1, 2] par exemple
swap(0,0) -> rien de modifié
permute(1); donc permutation de [1, 2] et 0 fixé en premier indice
==> swap(1,1) -> rien de modifié
permute(2)
==> plus rien à permuter -> retour avec [0, 1, 2]
swap(1,1) -> rien de modifié
swap(1,2) -> on a maintenant [0, 2, 1]
permute(2)
==> plus rien à permuter -> retour avec [0, 2, 1]
swap(2,1) -> on a maintenant [0, 1, 2]
swap(0,0) -> rien de modifié
swap(0,1) -> on a maintenant [1, 0, 2]
permute(1); donc permutation de [0, 2] et 1 fixé en premier indice
==> swap(1,1) -> rien de modifié
permute(2)
==> plus rien à permuter -> retour avec [1, 0, 2]
swap(1,1) -> rien de modifié
swap(1,2) -> on a maintenant [1, 2, 0]
permute(2)
==> plus rien à permuter -> retour avec [1, 2, 0]
swap(2,1) -> on a maintenant [1, 0, 2]
swap(1,0) -> on a maintenant [0, 1, 2]
swap(0,2) -> on a maintenant [2, 1, 0]
permute(1); donc permutation de [1, 0] et 2 fixé en premier indice
==> swap(1,1) -> rien de modifié
permute(2)
==> plus rien à permuter -> retour avec [2, 1, 0]
swap(1,1) -> rien de modifié
swap(1,2) -> on a maintenant [2, 0, 1]
permute(2)
==> plus rien à permuter -> retour avec [2, 0, 1]
swap(2,1) -> on a maintenant [2, 1, 0]
swap(2,0) -> on a maintenant [0, 1, 2]
A+,
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --