Lisp-如何进行随机排列

时间:2018-10-25 22:52:47

标签: lisp common-lisp sbcl clisp

我对Lisp还是很陌生,我想知道创建给定 n 返回带有 n 元素并带有排列的数组的函数的最简单方法是什么从 0 n-1 ,例如:

(random-permutations 5)

#(2 4 3 1 0)

1 个答案:

答案 0 :(得分:7)

创建长度为 n 的向量。用连续的数字填充它。随机播放(例如Fisher-Yates)。

为了使用所有排列,您可能想看看库map-permutations中的alexandria