作者sjgau (sjgau)
看板Fortran
标题Re: [问题] 随机排序的问题
时间Wed Oct 21 09:38:33 2009
初步看,好像 M大大的方法比较好。
我会仔细的再 评估看看。
我的排列,组合,机率,演算法 BIGO 估算,
学的都不是很灵光,
我会再加油!
这个方法,可以用在 很多地方。
例如,1 到 42 取五个 乱数,不重复。
还有 这边的洗牌的动作,等等。。。
※ 引述《mantour (朱子)》之铭言:
: 为什麽要洗这麽多次呀
: 这样应该就可以了吧
: ! a(0) ~ a(51)
: for i=0,50
: 产生一个 i ~ 51 的乱数
: swap(a(r), a(i))
: 想像成本来是52个人坐一排
: 然後重抽一轮新的座号
: ※ 引述《sjgau (sjgau)》之铭言:
: : 你的意思,应该是 随机洗牌。
: : 假设你原本的资料有 52笔,
: : 存放在 一个 一维阵列
: : integer a(52)
: : ! a(1) . . . a(52)
: : for i=1 to 300 do
: : ! 随机产生两个 乱数 n1, n2, >= 1, and <= 52
: : ! 交换 a(n1) 和 a(n2) 的值
: : end do
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.231.104.108