Function 方法2()
Dim MyTime = TickCount()
Dim 区间大小 = 总个数/抽取个数
For i = 0 To 抽取个数-1
arr(i) = 生产随机数(1,区间大小)+i*区间大小
Next
打乱顺序(arr,抽取个数)
TracePrint "方法2耗时为(毫秒):"&(TickCount() - MyTime)
End Function
Function 打乱顺序(arr, count)
Dim index,tmp,i
For i = 0 To count
index = Rnd() * (count - i) + i
If index <> i Then
tmp=arr(i)
arr(i)=arr(index)
arr(index)=tmp
End If
Next
End Function
Call 方法2()
Function 方法2()
Dim MyTime = TickCount()
Dim 区间大小 = 总个数/抽取个数
For i = 0 To 抽取个数-1
arr(i) = 生产随机数(1,区间大小)+i*区间大小
Next
打乱顺序(arr,抽取个数)
TracePrint "方法2耗时为(毫秒):"&(TickCount() - MyTime)
End Function
Function 打乱顺序(arr, count)
Dim index,tmp,i
For i = 0 To count
index = Rnd() * (count - i) + i
If index <> i Then
tmp=arr(i)
arr(i)=arr(index)
arr(index)=tmp
End If
Next
End Function
Call 方法2()