恭喜,你发布的帖子
发布于 2023-12-06 09:13:14
23楼
array[] 是输出队列,这个简单,新生成的放在 currentLen + 1 位置,currentLen 类似指针,指向最新生成的数据
主要是生成的随机数是否重复的判断,前文提过最简单的不是冒泡之类的排序后用二分法判断,而是数组
假设
第一次,random = 8, 此时 sw[8] = false,说明 8 不重复,添加到队列,同时置位 sw[8] = true
同理 第二次、第三次 分别得到随机数 10,5,那同样置位 sw[10]、sw[5] 为 true;
第四次,得到随机数 10,此时 sw[10] 为 true,说明 10 已经生成过,就不用添加到 array 中了
sw[ ] = false或true的初始判断条件是什么呢,
如何剔除重复数据呢?
请填写推广理由:
分享
只看
楼主