<分区>
Possible Duplicate:
Create Random Number Sequence with No Repeats
我想编写一个仅使用数字作为短字符串的 URL 缩短器。
我不想向上计数,我希望下一个新数字是随机的(或伪随机的)。
一开始以为算法是这样的(伪代码):
do
{
number = random(0,10000)
}
while (datastore.contains(number))
datastore.store(number, url)
此实现的问题是:随着数据存储包含的数字越多,循环执行多次的可能性就越大。性能会随着时间的推移而降低。
有没有更好的方法来获取尚未使用的随机数?