递归火山软件开发平台
标题:
一个数组如何随打乱呢
[打印本页]
作者:
易入门
时间:
2024-4-19 13:52
标题:
一个数组如何随打乱呢
比如 1-5 5个数,如何让他随机 排序呢
作者:
易入门
时间:
2024-4-19 14:26
<火山程序 类型 = "通常" 版本 = 1 />
数组.加入成员 (1)
数组.加入成员 (2)
数组.加入成员 (3)
数组.加入成员 (4)
数组.加入成员 (5)
置随机数种子 ()
计次循环 (数组.取成员数 ())
{
随机序号 = 取随机数 (1, 数组.取成员数 ())
索引 = 取循环索引 ()
暂存 = 数组.取成员 (索引)
数组.置成员值 (索引, 数组.取成员 (随机序号 - 1))
数组.置成员值 (随机序号 - 1, 暂存)
}
调试输出 (数组)
作者:
易入门
时间:
2024-4-19 14:26
已解决,抄易代码的
作者:
Xelloss0618
时间:
2024-4-19 14:26
<火山程序 类型 = "通常" 版本 = 1 />
方法 打乱数组 <公开 静态 注释 = "随机地打乱基本类型值数组和文本数组类中所有成员的顺序." 注释 = "注: 随机算法为std::mt19937,成员的每个排列都拥有相同的出现概率." 折叠
@视窗.外部头文件 = "<random>" @嵌入式方法 = "">
参数 欲操作数组 <注释 = "只支持基本类型值数组类和文本数组类" 注释 = "不支持对象数组类、字节集数组类、对象数组模板类" @匹配类型 = 通用类>
{
@ [](auto& arr) {
@ auto begin = arr.GetData();
@ auto end = begin + arr.GetCount();
@ std::shuffle(begin, end, std::mt19937{std::random_device{}()});
@ } (@<欲操作数组>.data())
}
作者:
易入门
时间:
2024-4-19 14:39
Xelloss0618 发表于 2024-4-19 14:26
方法 打乱数组
参数 欲操作数组
{
谢谢大佬
作者:
大有可为
时间:
2024-4-19 14:43
Xelloss0618 发表于 2024-4-19 14:26
方法 打乱数组
参数 欲操作数组
{
可以集成piv里面 期待下个版本
作者:
weilai
时间:
2024-4-19 16:06
这不用抄易语言的也不用嵌入式,直接火山写也很简单
作者:
weilai
时间:
2024-4-19 16:08
循环 取随机数 交换变量 即可
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4