如果我想在2D矩阵中随机生成0,1,2但我想控制0,1,2的计数。这可以通过任何内置的c函数来完成吗?(我正在使用C和new编程。)
答案 0 :(得分:1)
假设你有一个3x3矩阵,你想要0,1,2中的每一个。最实用的方法是用非随机的方式用正确的数字填充矩阵,比如
0 0 0
1 1 1
2 2 2
然后使用Fisher-Yates shuffle将它们按随机顺序排列。您必须自己实施shuffle,但是您可以在实现中以正常方式使用rand()
。
这适用于需要将固定数量的固定值放入列表中的随机位置的任何情况。