摘要: 做图形久了,发觉做逻辑的东西也挺有意思,逻辑的内容也需要好的算法。问题描述:如何在一个整数区间内(例如0-n-1)产生一组(m个)不重复的随机数一般解法: 设置一个n长的数组用于标记,用rand随机产生一个数,如果之前已生成过,则重新生成随机数。直到得到一个未生成过的。最优解法:for(i = 0; i < n; i++){ x[i] = i;}for(i = 0; i < m; i++){ t = rand(i, n-1);swap(x[i], x[t]); out(x[i]);}1. 将区间数值存在一个数组x[i]2. 因为要取m个数,所以做m次遍历操作3. 每次都从i到n-1 阅读全文
posted @ 2013-03-19 12:00 Dawnli 阅读(423) 评论(0) 推荐(0) 编辑