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
|
créerCombinaisons(ensembles) {
créer combinaisons, une liste de combinaisons à produire, vide pour l'instant (SORTIE)
créer construction, une liste d'éléments, vide, pour construire chaque combinaison
appeler créerCombinaisons( combinaisons, construction, ensembles, 0); // index à 0 au début soit le premier ensemble
retourner combinaisons // retourner le résultat en SORTIE
}
créerCombinaisons(combinaisons, construction, ensembles, index) {
si index est supérieur ou égal à nombre d'ensembles alors
stocker copie de construction actuel dans combinaisons
sinon
pour tous les élements E de l'ensemble d'index "index" dans ensembles faire
ajouter E dans construction
appeler récursivement creerCombinainons(combinaisons, construction, ensemble, index + 1) // traiter récursivement l'ensemble suivant
supprimer E de construction (enlever le dernier élément actuel de construction)
fin pour
fin si
} |
Partager