设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1831|回复: 2
打印 上一主题 下一主题

[已经解决] 请问如何将一个数组的数据随机排序成另一个数组?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
155
在线时间
332 小时
注册时间
2013-7-6
帖子
356
跳转到指定楼层
1
发表于 2014-6-16 18:18:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
假如有一个数组
$a=[0,1,2,3,4,5,6,7,8,9,10]
用rand()函数随机取数的方法将之转变为另一种随机排序,求教。。。

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

偶是熬夜学编程的傻子

Lv3.寻梦者

梦石
0
星屑
2749
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

2
发表于 2014-6-16 21:50:47 | 只看该作者
  1. $a = [0,1,2,3,4,5,6,7,8,9,10]
  2. for i in 0...$a.size
  3.   x = rand($a.size - i) + i
  4.   t = $a[x]
  5.   $a[x] = $a[i]
  6.   $a[i] = t
  7. end
复制代码

点评

感谢版主。  发表于 2014-6-17 09:38

评分

参与人数 1星屑 +100 收起 理由
fux2 + 100 认可答案

查看全部评分

(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42681
在线时间
7616 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

3
发表于 2014-6-16 22:32:15 | 只看该作者
  1. arr = [0,1,2,3,4,5,8,9,6,1,2,45,4]
  2. mi = arr.size
  3. mi.times{a,b=rand(mi),rand(mi);arr[a],arr[b]=arr[b],arr[a]}
  4. p arr
复制代码

点评

谢谢了,虽说比版主的难以理解一些,初学者见谅。。。  发表于 2014-6-17 09:36

评分

参与人数 1星屑 +150 收起 理由
myownroc + 150 我很赞同

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-24 08:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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