爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3609|回复: 4

随机打乱数组的洗牌算法

[复制链接]

新浪微博达人勋

发表于 2017-12-12 14:48:07 | 显示全部楼层 |阅读模式
Fortran
系统平台: linux
问题概况: 随即打算数组的洗牌算法的shuffle的部分不太懂~~
问题截图: -
我看过提问的智慧: 看过
自己思考时长(天): 2

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 乌兰兰111 于 2017-12-12 14:53 编辑

这是在http://fcode.cn/code_prof-84-1.html这个网站上看到的xjt@Fcode研讨团队写的代码,后面Shuffle的部分有点看不懂是什么意思,有懂的太神给指点指点呗~~~

3.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2017-12-12 16:03:00 | 显示全部楼层
洗牌算法,实际上是位置重新赋值,产生随机位置p,然后将位置p上的数值赋值为i位置上,实现位置颠倒完成一次洗牌,然后i+1,产生一个新的位置p,再次洗牌,这样经过n次交换,就得到一天新的序列。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-12-12 17:47:03 | 显示全部楼层
言深深 发表于 2017-12-12 16:03
洗牌算法,实际上是位置重新赋值,产生随机位置p,然后将位置p上的数值赋值为i位置上,实现位置颠倒完成一 ...

谢谢你,我大概理解了这部分的意思了,但是具体的下面这两句我不太懂~~~

i = size (D),2,-1

p = int(r*i)+1

能简单给我说一下吗~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2017-12-12 18:10:37 | 显示全部楼层
乌兰兰111 发表于 2017-12-12 17:47
谢谢你,我大概理解了这部分的意思了,但是具体的下面这两句我不太懂~~~

i = size (D),2,-1

两个函数,size是数组元素的格式,这里面等于N;
int是integer的缩写,作为函数是取整的意思,保证位置函数是整型
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-12-13 12:37:30 | 显示全部楼层
言深深 发表于 2017-12-12 18:10
两个函数,size是数组元素的格式,这里面等于N;
int是integer的缩写,作为函数是取整的意思,保证位置 ...

太感谢啦~~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表