|
取不重复随机数 | | |
|
要取出的个数 | 整数型 | | | |
最小值 | 整数型 | | | | 最大值 | 整数型 | | | | 存放数组 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
原始个数 | 整数型 | | |
初始数组 | 整数型 | | 0 |
i | 整数型 | | |
j | 整数型 | | |
临时取出 | 整数型 | | |
k | 整数型 | | |
已取出 | 整数型 | | |
开始时间 | 长整数型 | | |
如果真 (要取出的个数 < 1
)
要取出的个数 = 1
如果真 (是否为空 (最小值
))

最小值 = 0
如果真 (是否为空 (最大值
))

最大值 = 999999
如果真 (最小值 > 最大值
)
返回 ()开始时间 = 到长整数 (时间_取现行时间戳 ())已取出 = 0
置随机数种子 ()清除数组 (初始数组
)清除数组 (存放数组
)原始个数 = 最大值 - 最小值 + 1
计次循环首 (原始个数, i
)
加入成员 (初始数组, 最小值 + i - 1
)
处理事件 ()
计次循环尾 ()
计次循环首 (要取出的个数, j
)
临时取出 = 初始数组
[汇编_取随机数 (1,
取数组成员数 (初始数组
))
]
加入成员 (存放数组, 临时取出
)
已取出 = 已取出 + 1

如果真 (已取出 ≥ 要取出的个数
)

跳出循环 ()
计次循环首 (取数组成员数 (初始数组
), k
)

如果真 (初始数组
[k
] = 临时取出
)

删除成员 (初始数组, k,
)

跳出循环 ()
处理事件 ()
计次循环尾 ()
调试输出 (临时取出
)
计次循环尾 ()调试输出 (“取出个数:” +
到文本 (已取出
) +
“,耗时:” +
到文本 (到长整数 (时间_取现行时间戳 ()) - 开始时间
) +
“ms”)调试输出 (存放数组
)