易语言 – 数组去重复的几种方法

删除数组中重复的成员应用比较广泛,比如我们要一个数据库中重复的成员删除,这里的删除严格讲应当是去除数组中重复的成员。

方法1:

.版本 2
.支持库 EDataStructure
.子程序 数组去重
.参数 文本数组, 文本型, 参考 数组
.局部变量 节点, 节点
.局部变量 返_文本数组, 文本型, , "0"
.局部变量 i, 整数型
.计次循环首 (取数组成员数 (文本数组), i)
.如果真 (节点.加入属性 (文本数组 [i], 真))
加入成员 (返_文本数组, 文本数组 [i])
.如果真结束
.计次循环尾 ()
文本数组 = 返_文本数组
易语言 - 数组去重复的几种方法

方法2:

.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.子程序 _按钮1_被单击, , , 删除数组重复成员
.局部变量 成员
.局部变量 a, , , "0"
.局部变量 m, 整数型
.局部变量 i, 整数型
.局部变量 n, 整数型
.局部变量 文本, 文本型
置随机数种子 ()
编辑框2.内容 = “”
.计次循环首 (10, m)
成员 = 多项选择 (取随机数 (1, 10), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
加入成员 (a, 成员)
编辑框2.内容 = 编辑框2.内容 + 到文本 (a [m]) + #换行符
.计次循环尾 ()
调试输出 (a)
' 先计次循环,让每一个数组成员进行除自身外的匹配对比
' 先是外部计次循环,顺序写出单一的数组成员
' 内部用变量循环首 ,关键(I+1),排除自身,进行匹配,匹配成功就删除,从而去除了重复成员
.' 计次循环首 (取数组成员数 (a), i)
.' 如果真 (取数组成员数 (a) < i)
' 跳出循环 ()
.如果真结束
.' 变量循环首 (取数组成员数 (a), i + 1, -1, n)
.' 如果真 (a [i] = a [n])
' 删除成员 (a, n, )
.如果真结束
.' 变量循环尾 ()
' 文本 = 文本 + 到文本 (a [n]) + #换行符
.' 计次循环尾 ()
' 编辑框1.内容 = 文本
子_删除数组重复成员1 (a)
调试输出 (a)
.子程序 子_删除数组重复成员1
.参数 参_数组, 整数型, 数组
.局部变量 i
.局部变量 n
.局部变量 文本, 文本型
编辑框1.内容 = “”
.计次循环首 (取数组成员数 (参_数组), i)
.如果真 (取数组成员数 (参_数组) < i)
跳出循环 ()
.如果真结束
.变量循环首 (取数组成员数 (参_数组), i + 1, -1, n)
.如果真 (参_数组 [i] = 参_数组 [n])
删除成员 (参_数组, n, )
.如果真结束
.变量循环尾 ()
文本 = 文本 + 到文本 (参_数组 [n]) + #换行符
.计次循环尾 ()
编辑框1.内容 = 文本
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论