Newer
Older
package permutations
interface PermutationsStrategy<K> {
/**
* donne la liste de toutes les permutations de la liste passée en paramètre
* @param data la liste de valeurs à permuter
*/
fun permutations(data: List<K>): List<List<K>>
/**
* méthode utilitaire qui réalise l'échange entre deux positions dans une liste
* @param data une liste de valeurs
* @param a la position n°1 dans l'échange
* @param b la position n°2 dans l'échange
*/
fun swap(
data: MutableList<K>,
a: Int,
b: Int,
) {
val temp = data[a]
data[a] = data[b]
data[b] = temp
}
}