算法系列:生成100个1-100以内的不重复的随机数

 算法

(1) 把N个数放到容器A(int数组)中.

(2) 从N个数中随机取出1个数放入容器B(int数组)中.

(3) 把容器A中最后一个数与随机抽取的数对调 或者 把容器A中最后一个数覆盖随机抽取出来的数.

(4) 这时从容器A(假设N个数,索引0 到 索引N-2)之间随机取一个数.再放入容器B中,重复此步骤.

说明:也就是第二次是从容器A中 第一个元素到倒数第二个元素 中随机取一个数.

这种好处是,随机数所取范围逐步缩小,而且杜绝了大数据时集合执行删除操作时产生的瓶颈.

 

实现

算法系列:生成100个1-100以内的不重复的随机数