1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
entier max : nombre d'éléments à permuter
entier tab[max+1] : tableau des nombres représentant les permutations, numerotation à partir de 1, +1 pour avoir des tests simples de fin d'incrementation
entier i : un compteur
début
remarque : intialisation du tableau
pour i de 1 à max par pas de 1
tab[i] <- 1
fin pour
remarque : début de l'algo prorpement dit
faire
afficher la permutation tab
remarque : on incrémente la première position de la table, comme on utilise une boucle,
remarque : et qu'on augmente l'indice dans la boucle on part de 0
i <- 0
faire
i <- i + 1
tab[i] <- tab[i] + 1
remarque : si la position i contient le plus grand nombre on revient au départ, et on continue l'incrémentation
si tab[i] = max alors
tab[i] <- 1
fin si
tant que tab[i] = 1
remarque on n'a pas besoin de tester i avant à cause de la taille du tableau max +1, l'algo s'arrête si on a incrémenté la case supplémentaire, indiquant qu'on a eu toutes les permutations avant
tant que i <= max
fin |
Partager