易语言:数组成员打乱重排思路一
来源:网络收集 点击: 时间:2024-05-14打开易语言,新建一个windows窗口程序,添加两个编辑框和一个按钮组件。

给编辑框1添加内容为 一,二,三,四,五,六,七,八,九,十

双击按钮组件编写代码,创建文本型数组变量数组1,将编辑框1的文本分割为数组,并赋值到数组1中。代码如下:
.版本 2
.子程序 _按钮1_被单击
.局部变量 数组1, 文本型, , 0
数组1 = 分割文本 (编辑框1.内容, “,”, )

取两个随机数做数组下标,用于随机获取数组成员,然后将两个数组成员互换位置,算作一次重排,根据自己的需求,可以进行多次打乱操作,所以需要用到计次循环首()命令。代码如下:
.版本 2
.子程序 _按钮1_被单击
.局部变量 数组1, 文本型, , 0
.局部变量 计次, 整数型
.局部变量 随机数1, 整数型, , , 用作数组下标,所以能取的最小值为1,最大值为数组1的数组成员数
.局部变量 随机数2, 整数型
.局部变量 临时文本, 文本型
数组1 = 分割文本 (编辑框1.内容, “,”, )
置随机数种子 ()
.计次循环首 (10, 计次)
随机数1 = 取随机数 (1, 取数组成员数 (数组1))
随机数2 = 取随机数 (1, 取数组成员数 (数组1))
临时文本 = 数组1
数组1 = 数组1
数组1 = 临时文本
.计次循环尾 ()

随机数1和随机数2的值是作为数组1的下标存在的,所以是有取值范围的,最小为1,最大为数组1的成员个数。
另外要剔除无效操作,也就是当随机数1和随机数2相等的时候,没有互换位置的意义,互换完成指定次数之后,将最终结果输出到编辑框2中。所以最终代码如下:
.版本 2
.子程序 _按钮1_被单击
.局部变量 数组1, 文本型, , 0
.局部变量 计次, 整数型
.局部变量 随机数1, 整数型, , , 用作数组下标,所以能取的最小值为1,最大值为数组1的数组成员数
.局部变量 随机数2, 整数型
.局部变量 临时文本, 文本型
数组1 = 分割文本 (编辑框1.内容, “,”, )
置随机数种子 ()
.计次循环首 (10, 计次)
随机数1 = 取随机数 (1, 取数组成员数 (数组1))
随机数2 = 取随机数 (1, 取数组成员数 (数组1))
.如果真 (随机数1 ≠ 随机数2)
临时文本 = 数组1
数组1 = 数组1
数组1 = 临时文本
.如果真结束
.计次循环尾 ()
临时文本 = “”
.计次循环首 (取数组成员数 (数组1), 计次)
临时文本 = 临时文本 + 数组1 + “,”
.计次循环尾 ()
编辑框2.内容 = 临时文本


循环次数也就是位置打乱次数,可以根据自己的需求来定。
打乱重排的思路还有很多,比如用两个数组进行打乱的思路,之后也会记录下来。
易语言重排打乱随机打乱版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_762084.html