以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  指定连续整数,随机排序问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187252)

--  作者:ezilu
--  发布时间:2023/7/3 16:36:00
--  指定连续整数,随机排序问题
打个比方,整数1到5,怎么样实现随机排序。
谢谢,麻烦各位大大,指导!!!

--  作者:有点蓝
--  发布时间:2023/7/3 16:44:00
--  
参考:http://www.foxtable.com/webhelp/topics/2963.htm

Dim cnt As Integer = 5
Dim
 ids1 As New List(of Integer\'用于存储洗牌前的位置
Dim
 ids2 As New List(of Integer\'用于存储洗牌后的位置
For
 i As Integer = 1 To cnt \'准备初始的牌
    ids1.add(i)

Next
For
 i As Integer = 0 To cnt - 1 \'开始洗牌
    Dim idx As Integer = ids1(rand.Next(0,ids1.count))
    
ids2.Add(idx)
    ids1.Remove(idx)

Next

For
 i As Integer = 0 To ids1.count - 1 \'100为要抽取的行数
   output.show(
ids1(i))
Next


--  作者:ezilu
--  发布时间:2023/7/3 16:56:00
--  
调试错误,蓝大大!
--  作者:有点蓝
--  发布时间:2023/7/3 17:13:00
--  
……
For i As Integer = 0 To ids2.count - 1 \'100为要抽取的行数
   output.show(ids2(i))
Next

--  作者:ezilu
--  发布时间:2023/7/5 22:02:00
--  
谢谢蓝大大