易语言数组内容乱序
来源:互联网 发布:ubuntu rm rf 编辑:程序博客网 时间:2024/06/17 21:24
数组去重方法很多,有的方法比较笨而且耗时,这里介绍作者研究的两种好的去重方法,直接上代码,其中数组内容乱序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
.循环判断尾 (索引 < 数组长度)
- 易语言数组内容乱序
- C语言中struct数组乱序赋值
- java数组乱序
- matlab 数组 乱序
- JavaScript 数组乱序
- swift数组乱序
- golang 数组 slice 乱序
- JavaScript 数组乱序方法
- 洗牌算法:数组乱序
- 如何乱序排列文件内容
- 【Shell】将txt中内容乱序
- 使用数组实现排列乱序
- 【C语言】翻转数组内容
- C语言随机数,乱序问题
- Javascript数组完全随机排列(数组乱序)
- C语言 实现两个数组内容交换
- JavaScript中实现数组的排序、乱序和搜索
- JavaScript中实现数组的排序、乱序和搜索
- 树状数组的应用
- ffmpeg+EasyDSS流媒体服务器实现稳定的rtmp推流直播
- linux下hotplug_uevent机制(热插拔机制)
- Linux初学
- React中的refs的使用
- 易语言数组内容乱序
- 3DMAX贴图无法显示
- Linux c 二叉搜索树(节点创建、插入BST)
- base标签
- Android Studio 调用百度地图
- CentOS 7 yum安装nginx-1.12.0
- poj 3122 Pie(二分)
- Vue路由History mode模式中页面无法渲染的原因及解决
- 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)