开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 617|回复: 7
收起左侧

[完成] 纯数字排序极速版求助

 关闭 [复制链接]
结帖率:100% (59/59)
发表于 2024-2-22 12:07:47 | 显示全部楼层 |阅读模式   河南省郑州市
6精币
祝各位老师龙年福运连连!新春吉祥!求助一版极速排序代码,纯数字0-9按照出现次数多于少排序,排序格式如下例子。
情况:论坛上也搜集了一版代码可以实现排序,计算量少的情况下是满足使用的,但数量超10万+量运行慢的不行,不是电脑问题,因为别的软件可以毫秒间无延迟完成,所以求助专业老师给与帮助,求一版经典极速版排序代码永久收藏,期待您的回复。
以下是排序要求格式:
  次数   数字
【  0 】9
【  1 】3
【  2 】0 6 8 -------当次数相同数字排在一行内
【  3 】2
【  4 】4 1
【  6 】5
【  10】7


后附测试数字:

10万 数字.txt

136.72 KB, 下载次数: 5, 下载积分: 精币 -1 枚

最佳答案

查看完整内容

[e=0].版本 2 .支持库 spec .子程序 子程序1 .局部变量 数据指针, 整数型 .局部变量 桶指针, 整数型 .局部变量 数据尾指针, 整数型 .局部变量 数据, 字节集 .局部变量 桶, 整数型, , "0" .局部变量 s1, 整数型 .局部变量 桶_副本, 整数型, , "0" .局部变量 s2, 整数型 .局部变量 结果文本, 文本型 .局部变量 启动时间, 整数型 数据指针 = 0 桶指针 = 0 数据尾指针 = 0 数据 = { } 桶 = { 0 } 重定义数组 (桶, 假, 57) 启动 ...
结帖率:57% (4/7)
发表于 2024-2-22 12:07:48 | 显示全部楼层   浙江省嘉兴市
  
子程序名返回值类型公开备 注
子程序1  
变量名类 型静态数组备 注
数据指针整数型 
桶指针整数型 
数据尾指针整数型 
数据字节集 
整数型0
s1整数型 
桶_副本整数型0
s2整数型 
结果文本文本型 
启动时间整数型 
数据指针 = 0
桶指针 = 0
数据尾指针 = 0
数据 = {  }
桶 = { 0 }
重定义数组 (桶, 假, 57)
启动时间 = 取启动时间 ()
' ------------------------------------------------
数据 = 子字节集替换 (读入文件 (“C:\Users\aaa\Desktop\10万 数字.txt”), { 13, 10 }, {  }, , )
数据指针 = 取变量数据地址 (数据)
桶指针 = 取变量数据地址 ()
数据尾指针 = 数据指针 + 取字节集长度 (数据)
置入代码 ({ 139, 93, 252, 139, 117, 248, 139, 77, 244, 131, 238, 4, 184, 0, 0, 0, 0, 138, 3, 255, 4, 134, 67, 57, 203, 124, 246 })
删除成员 (桶, 1, 47)
' 调试输出 ()
' ----------------------------------------------------------------------------------------
桶_副本 = 桶
数组排序 (桶, )
计次循环首 (10, s1)
结果文本 = 结果文本 + “【”到文本 ([s1])“】”
计次循环首 (10, s2)
如果真 ([s1] = 桶_副本 [s2])
结果文本 = 结果文本 + “ ”到文本 (s2 - 1)

计次循环尾 ()
结果文本 = 结果文本 + #换行符
计次循环尾 ()
启动时间 = 取启动时间 () - 启动时间
编辑框1.内容 = 到文本 (启动时间)
调试输出 (结果文本)


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

经测试编译后120万个数字只要65毫秒
回复

使用道具 举报

结帖率:95% (56/59)

签到天数: 20 天

发表于 2024-2-22 14:08:48 | 显示全部楼层   福建省宁德市
回复

使用道具 举报

结帖率:100% (59/59)

签到天数: 8 天

 楼主| 发表于 2024-2-22 17:19:45 | 显示全部楼层   河南省郑州市
鹏书 发表于 2024-2-22 14:08
https://www.bilibili.com/video/BV1HY411U79U/

@鹏书 老师带讲课的,很荣幸照着你的视频复刻了一遍代码,经测验10万+数字排序大约100毫秒出结果!比我现有的版本速度提升N倍!而且还适用长整数排序。我把你的代码贴出来做个备份,也给其他需要的朋友提供的方便。
以下是“鹏书”老师的源代码:数字排序
  
变量名类 型静态数组备 注
array文本型0作者:鹏书
jd节点 
i整数型 
int整数型 
arrayInt整数型0
t整数型 
t = 取启动时间 ()
文本_逐字分割_汇编 (编辑框_左.内容, array)
编辑框_右.内容 = “”
计次循环首 (取数组成员数 (array), i)
如果真 (取反 (jd.加入属性 (array [i], 1)))
jd.取数值 (array [i], int)
jd.修改属性 (array [i], int + 1)

计次循环尾 ()
jd.取全部属性名 (array)
计次循环首 (取数组成员数 (array), i)
jd.取数值 (array [i], int)
加入成员 (arrayInt, int × 10000 + 到整数 (array [i]))
计次循环尾 ()
数组排序 (arrayInt, )
编辑框_右.加入文本 (“ 次数  数字”#换行符 )
计次循环首 (取数组成员数 (arrayInt), i)
编辑框_右.加入文本 (“【”到文本 (到整数 (arrayInt [i] ÷ 10000)) + “】”到文本 (arrayInt [i] % 10000)#换行符 )
计次循环尾 ()
标签1.标题 = “排序用时:”到文本 (取启动时间 () - t)“毫秒”


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

回复

使用道具 举报

结帖率:100% (59/59)

签到天数: 8 天

 楼主| 发表于 2024-2-22 17:29:49 | 显示全部楼层   河南省郑州市
谢谢@鹏书 老师的代码,我现在水平只能使用老师的代码却无法改变他,请求老师再帮助一下,在你的代码上把相同次数的“数字”放到一行上如何做呐?如:
次数    数字
【  0 】9
【  1 】3
【  2 】0 6 8 -------当次数相同数字排在一行内
【  3 】2
【  4 】4 1
【  6 】5
【  10】7
回复

使用道具 举报

结帖率:100% (59/59)

签到天数: 8 天

 楼主| 发表于 2024-2-22 18:34:50 | 显示全部楼层   河南省郑州市
z899505cqz 发表于 2024-2-22 17:36
[e=0].版本 2
.支持库 spec

好激动!经测试10万+数字仅仅需要十几毫秒完成!终于遇到传说中的极速代码,对于我这种不会写代码人遇到极品代码就是如获至宝,我多备份几次千万不能丢失喽,非常感谢@z899505cqz 老师的提供。
您要是在能指导着把相同次数的数字放到同一行上去,真是太完美了~~
回复

使用道具 举报

结帖率:100% (47/47)

签到天数: 14 天

发表于 2024-2-22 19:55:30 | 显示全部楼层   广东省东莞市
Desktop.zip (189.53 KB, 下载次数: 5)
回复

使用道具 举报

结帖率:57% (4/7)
发表于 2024-2-22 20:59:44 | 显示全部楼层   浙江省嘉兴市
删除了多余的替换字节集的代码,速度更快了。10万数据比上面的慢一点,但是100万数据,比上面那个快一倍。  修复了把相同次数的数字放到同一行

删除多余的计算.rar

187.14 KB, 下载次数: 1, 下载积分: 精币 -1 枚

回复

使用道具 举报

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

本版积分规则 致发广告者

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

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

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