关于不使用选择结构建立由随机数组成但彼此不重复的数组的一个方法
本文核心:Knuth-Shuffle 洗牌算法 如果看到这里你心中已经明白这个算法是什么,那么你可以选择不接着往下看,尝试您心中所想。 正文如下: · 首先你需要知道Knuth-Shuffle 算法是个什么样的算法。 这是由高纳德提出的一个随机算法,算法如下: for(int i=n-1; i>=0; i--) swap(array[i], array[rand()%(i+1)]; 这个算法在数学的概率上,做到了近乎公平的程度,其详细拓展在这不多做赘述。 到这里您应该明白我们会做什么。 首先我们需要建立一个数组,数组的长度取决于您所需要的数列的大小。 例如我们现在需要做一个30的数字内
下载地址
用户评论