开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

楼主: APPLEUFO
收起左侧

[易语言纯源码] 数组去重复,再比原来快一倍,数组排序用了归并算法

[复制链接]
结帖率:75% (3/4)
 楼主| 发表于 前天 01:04 | 显示全部楼层   福建省福州市

不是变量循环的问题 ,时间消耗在 清空10000的数组,然后重定义成100的数组上面了
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 15 天

 楼主| 发表于 前天 01:00 | 显示全部楼层   福建省福州市
本帖最后由 APPLEUFO 于 2025-6-23 01:06 编辑
  
调试模块_创建文本型数组 (aaa, 10000 × 5)
' 调试输出 (aaa)
计时器启动 ()
数组模块_去重复7_排序后对比 (aaa, aaa_结果)
' 数组模块_去重复4_节点法 (aaa, aaa_结果)
计时器结束 ()
调试输出 (“===============”)
' 调试输出 (数组模块_验证是否无重复数据 (aaa_结果), 取数组成员数 (aaa_结果))
调试输出 (取数组成员数 (aaa_结果))
鸣叫 ()
鸣叫 ()
结束 ()


i支持库列表   支持库注释   
spec特殊功能支持库



QQ_1750611289878.png





QQ_1750611184389.png

这里创建了一个大量不重复的数据。
节点法的时间 都花在 加入属性  这上面了。如果数据是大量不重复的。就会消耗非常多在循环加入上
而排序去重 的时间消耗,还是很稳定的


  
子程序名返回值类型公开备 注
数组模块_去重复4_节点法 
参数名类 型参考可空数组备 注
参数_原始数组文本型
参数_结果数组文本型
变量名类 型静态数组备 注
局变_节点节点 
m1整数型 
计时器启动 ()
计次循环首 (取数组成员数 (参数_原始数组), m1)
局变_节点.加入属性 (参数_原始数组 [m1], “”)
计次循环尾 ()
计时器结束 ()
计时器启动 ()
局变_节点.取全部属性名 (参数_结果数组)
计时器结束 ()


i支持库列表   支持库注释   
EDataStructure数据结构支持库
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 15 天

 楼主| 发表于 前天 00:25 | 显示全部楼层   福建省福州市
本帖最后由 APPLEUFO 于 2025-6-23 00:38 编辑
  
子程序名返回值类型公开备 注
数组模块_去重复4_节点法 
参数名类 型参考可空数组备 注
文本数组文本型
变量名类 型静态数组备 注
节点节点 
count整数型 
' 输出调试文本 (取数组成员数 (文本数组))
变量循环首 (1, 取数组成员数 (文本数组), 1, count)
节点.加入属性 (文本数组 [count], “”)
变量循环尾 ()
节点.取全部属性名 (文本数组)
' 输出调试文本 (取数组成员数 (文本数组))



i支持库列表   支持库注释   
EDataStructure数据结构支持库

模块里也 内置了一个节点法   ,数据大的时候,排序后去重7 速度 是 节点法的五倍的。 大数据才能体现出差别

.版本 2
.支持库 spec

调试模块_创建整数型数组_有重复 (zzz, 100000, 1, 100)  ' 1000000
转换模块_整数型数组转文本型数组 (zzz, aaa)

计时器启动 ()
数组模块_去重复7_排序后对比 (aaa, aaa_结果)
' 数组模块_去重复4_节点法 (aaa)
计时器结束 ()
调试输出 (“===============”)

=====================================
我知道慢在哪了 上面 内置的04,输入和输出,用的都是同一个数组。时间都消耗在把原始大数组清空,换成结果小数组了
你代码用的是两个不同的数组。这就快了,整挺好  学习了
  
子程序名返回值类型公开备 注
子程序1  
参数名类 型参考可空数组备 注
aaa文本型
bbb文本型
变量名类 型静态数组备 注
jd节点 
m整数型 
计次循环首 (取数组成员数 (aaa), m)
jd.加入属性 (aaa [m], 0)
计次循环尾 ()
jd.取全部属性名 (bbb)


i支持库列表   支持库注释   
EDataStructure数据结构支持库





点评

你用变量循环...   广东省深圳市  发表于 前天 00:39
回复 支持 反对

使用道具 举报

结帖率:94% (17/18)

签到天数: 25 天

发表于 前天 00:15 | 显示全部楼层   广东省深圳市
有这么慢吗?
QQ20250623-001417.png
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 15 天

 楼主| 发表于 前天 00:10 | 显示全部楼层   福建省福州市
cf2006a 发表于 2025-6-22 22:57
不是有汇编版文本数组去重复的
  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
g文本型100000
t整数型 
i整数型 
字符长度整数型 
找到位置整数型 
写入位置整数型 
结果文本型 
调试文本型 
ss文本型0
新数组长度整数型 
新数组文本型0
计次循环首 (100000, i)
g [i]到文本 (取随机数 (1, 1000))
计次循环尾 ()
t = 取启动时间 ()
' 结果 = _数组叠加_去重复 (g, 5, 新数组)
' 新数组长度 = _取文本长度_ASM_地址 (结果) \ 5
. ' 计次循环首 (新数组长度, i)
' 加入成员 (新数组, _取定长文本 (结果, i × 5, 5))
. ' 计次循环尾 ()
数组模块_去重复7_排序后对比 (g, 新数组)
调试输出 (数组模块_验证是否无重复数据 (新数组))
调试输出 (取启动时间 () - t, 取数组成员数 (新数组), )


i支持库列表   支持库注释   
spec特殊功能支持库


https://bbs.125.la/forum.php?mod ... B%E9%87%8D%E5%A4%8D
https://bbs.125.la/forum.php?mod ... E5%A4%8D&page=1
你18年两个帖子  结果是错的      数组成员数应该是1000    不知道你的为啥总是923   924
我前面发了个 前面帖子附件太多审核去了


回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 15 天

 楼主| 发表于 3 天前 | 显示全部楼层   福建省福州市
cf2006a 发表于 2025-6-22 23:37
https://share.weiyun.com/xyw1wBMg

下载到了  倒是没看到 去重复的代码  
11111111111111111111.png
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 15 天

 楼主| 发表于 3 天前 | 显示全部楼层   福建省福州市
本帖最后由 APPLEUFO 于 2025-6-22 23:59 编辑
cf2006a 发表于 2025-6-22 22:57
不是有汇编版文本数组去重复的

https://bbs.125.la/forum.php?mod ... B%E9%87%8D%E5%A4%8D
我找到一个这个  ,只能用于整数类型的文本去重复? 结果的答案还是错的~~、

到文本 (取随机数 (1, 1000))   答案应该是数组成员在1000以下,差很小
     不知道为啥答案等于923



  
子程序名返回值类型公开备 注
_按钮2_被单击  
变量名类 型静态数组备 注
g文本型100000
t整数型 
i整数型 
字符长度整数型 
找到位置整数型 
写入位置整数型 
结果文本型 
调试文本型 
ss文本型0
计次循环首 (100000, i)
g [i]到文本 (取随机数 (1, 1000))
计次循环尾 ()
t = 取启动时间 ()
数组模块_去重复7_排序后对比 (g, ss)
调试输出 (取启动时间 () - t, 取数组成员数 (ss))
调试输出 (数组模块_验证是否无重复数据 (ss))
结束 ()


i支持库列表   支持库注释   
spec特殊功能支持库
  
子程序名返回值类型公开备 注
数组模块_验证是否无重复数据逻辑型 有 返回假  否则真
参数名类 型参考可空数组备 注
参数_文本文本型
变量名类 型静态数组备 注
n1整数型 
m1整数型 
局变_临时文本型 
计次循环首 (取数组成员数 (参数_文本) - 1, n1)
局变_临时 = 参数_文本 [n1]
变量循环首 (n1 + 1, 取数组成员数 (参数_文本), 1, m1)
如果 (局变_临时 = 参数_文本 [m1])
返回 ()



变量循环尾 ()
计次循环尾 ()
返回 ()

汇编去重复.e

66.26 KB, 下载次数: 0, 下载积分: 精币 -2 枚

夏夜自由模块10.1.rar

51.63 KB, 下载次数: 0, 下载积分: 精币 -2 枚

回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 25 天

发表于 3 天前 | 显示全部楼层   福建省福州市
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)

签到天数: 15 天

 楼主| 发表于 3 天前 | 显示全部楼层   福建省福州市
cf2006a 发表于 2025-6-22 22:57
不是有汇编版文本数组去重复的

有地址么?我看看快多少
回复 支持 反对

使用道具 举报

结帖率:97% (31/32)

签到天数: 25 天

发表于 3 天前 | 显示全部楼层   福建省福州市
不是有汇编版文本数组去重复的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表