摘要: 关于洗牌,就是随机且等概率的打乱原始的顺序,这里有一种比较好的方法,可以这么思考,有两个集合A,B,A是原始数据,每一次随机选取A中的一个元素,依次放到B中,那么最后A为空,B的顺序就对应了一次洗牌,具体的实现不需要两个数组,首先从A的1...n的范围内选一个数与A[1]交换,然后从2..n中选一个数与A[2]交换..这样就相当于把每一次选中的数字放到了B里面,而且下一次选择的时候一定不会选到之前出现的数字了,所以代码如下:1 void suffle(int n)2 {3 for(int i=1;i<=n;i++)4 {5 int ... 阅读全文
posted @ 2012-09-17 22:32 xpray 阅读(209) 评论(0) 推荐(0) 编辑