易语言数组内容乱序

数组去重方法很多,有的方法比较笨而且耗时,这里介绍作者研究的两种好的去重方法,直接上代码,其中数组内容乱序2是根据http://blog.csdn.net/zzqkillyou/article/details/7388690的第三种方法翻译过来,听说他是从C++翻译成java,现在我就从java翻译成易语言,但是我觉得这种方法也不是很好,我想到更好方法(这里没有上代码),基本思路就是我不用2个数组完成任务,而是通过随机置换数组里面的内容完成随机乱序,如果要求不高可以置换数组长度一半,就可以了,这个更节省时间和节省空间耗费,如果乱序厉害点可以置换数组长度次数,而且效果也比较好,这个思路代码好些,也比网上其他方法都更有弹性,可以用C++/java等完成,太监、简单我就对我的思路不上代码了。

.版本 2
.支持库 spec


.程序集 窗口程序集_启动窗口


.子程序 _按钮1_被单击
.局部变量 a, 文本型, , "0"
.局部变量 i, 整数型


a = { “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10” }


数组内容乱序2 (a)
.计次循环首 (取数组成员数 (a), i)
    调试输出 (a [i])
.计次循环尾 ()


.子程序 数组内容乱序
.参数 需要乱序的数组, 文本型, 数组, 使用前需要置随机数种子
.局部变量 临时数组, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 temp, 整数型
.局部变量 j, 整数型
.局部变量 tmp, 整数型


临时数组 = 需要乱序的数组
j = 1
.变量循环首 (1, 取数组成员数 (临时数组), 1, i)
    tmp = 取随机数 (1, 取数组成员数 (临时数组))
    需要乱序的数组 [j] = 临时数组 [tmp]
    删除成员 (临时数组, tmp, )
    j = j + 1
    处理事件 ()
.变量循环尾 ()




.子程序 __启动窗口_创建完毕


置随机数种子 ()




.子程序 数组内容乱序2
.参数 需要乱序的数组, 文本型, 数组, 使用前需要置随机数种子
.局部变量 数组长度, 整数型
.局部变量 索引, 整数型
.局部变量 当前位置, 整数型
.局部变量 临时数组, 文本型, , "0"
.局部变量 k, 整数型
.局部变量 r, 整数型


临时数组 = 需要乱序的数组
数组长度 = 取数组成员数 (需要乱序的数组)
索引 = 0
k = 1
当前位置 = 0
.循环判断首 ()
    r = 数组长度 - 索引
    当前位置 = 取随机数 (1, r)
    需要乱序的数组 [k] = 临时数组 [当前位置]
    k = k + 1
    临时数组 [当前位置] = 临时数组 [r]
    索引 = 索引 + 1
.循环判断尾 (索引 < 数组长度)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
语言是一种面向过程的编程语言,虽然它对于遍历JSON数组的功能支持相对较弱,但我们可以通过自己实现遍历的方法来处理。 首先,我们需要了解JSON数组的结构。JSON数组是由多个JSON对象组成,每个对象都有自己的键值对。在语言中,我们可以用字符串来表示JSON数组。例如,一个包含两个JSON对象的数组可以表示为:"[{"name":"Tom","age":18},{"name":"Alice","age":20}]"。 我们可以通过以下步骤来遍历这个JSON数组: 1. 首先,将表示JSON数组的字符串赋值给一个变量,如jsonStr。 2. 接下来,先使用Split函数将jsonStr按照"]"分割成多个子字符串,得到一个字符串数组,记为subStrArray。 3. 创建一个循环,遍历subStrArray中的每一个子字符串。 4. 对于每个子字符串,我们需要使用IndexOf函数找到其中的键值对。首先使用IndexOf函数找到第一个"{"的位置,再使用IndexOf函数找到第一个"}"的位置,这样就得到了一个JSON对象的字符串,比如"{"name":"Tom","age":18}"。 5. 对于每个JSON对象的字符串,我们可以使用Split函数将其按照","分割成多个子字符串,得到一个字符串数组,记为kvArray。 6. 创建一个循环,遍历kvArray中的每一个子字符串。 7. 对于每个子字符串,使用Split函数将其按照":"分割成两个子字符串,分别表示键和值,得到一个长度为2的字符串数组,记为pairArray。 8. 在循环中,我们可以通过pairArray[0]获取到键,通过pairArray[1]获取到值。 9. 根据自己的需要,可以将键值对保存到变量中,或者进行其他操作。 通过以上步骤,我们可以遍历JSON数组中的每一个键值对。需要注意的是,由于语言对于JSON的处理能力较弱,所以以上方法只适用于JSON数组结构比较简单的情况,如果JSON数组嵌套层次较深,以上方法可能会比较繁琐。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值