Лисп - Как сделать случайные перестановки - PullRequest
0 голосов
/ 26 октября 2018

Я довольно новичок в Лиспе, и мне было интересно, как проще всего создать функцию, которая с n возвращает массив с n элементами с перестановками из *От 1005 * 0 до n-1 , например:

(random-permutations 5)

#(2 4 3 1 0)

1 Ответ

0 голосов
/ 26 октября 2018

Создать вектор длины n .Заполните его последовательными номерами.Перемешать (например, Фишер-Йейтс).

Чтобы поиграть с всеми перестановками, вы можете взглянуть на map-permutations из библиотеки alexandria.

...