精易论坛

标题: 易语言版sort - 纯易语言代码 - 翻译自STL的sort [打印本页]

作者: 福仔    时间: 2023-4-14 19:15
标题: 易语言版sort - 纯易语言代码 - 翻译自STL的sort

和c++的sort相比

在debug模式下, 易语言耗时大概是20秒左右
而c++耗时是4秒左右, 慢了5倍左右

release模式下


易语言耗时大概7秒
c++耗时500毫秒
比c++慢了14倍左右.....

易语言核心库的数组排序耗时600毫秒左右

这个排序的优点就是可以自行扩展, 支持排序自定义数据类型, 需要自己写比较自定义数据类型大小的函数
可以只排序部分成员, 不一定要排序整个数组


想扩展自定义排序的话, 自己写一个类, 继承 sort_base 类
然后重写  size 和 cmp 这两个方法
size方法是单个成员在数组里占用的尺寸
指针加减的时候会根据这个尺寸计算

cmp方法是比较两个成员的大小, 内部的排序算法就是靠这个返回值进行排序的


STL的std::sort函数是基于Musser在1996年提出的内省排序(Introspective sort)算法实现。这个算法是个缝合怪,它汲取了插入排序、堆排序以及快排的优点:









作者: SD1228    时间: 2023-4-14 19:21
学习了........
作者: pipi9    时间: 2023-4-14 19:22

作者: wuqingg    时间: 2023-4-14 19:25
支持开源,感谢分享
作者: quary    时间: 2023-4-14 19:31
谢谢楼主分享!!!
好人一生平安!!!

作者: 天雨时晴    时间: 2023-4-14 19:53
感谢开源
作者: sanclyj    时间: 2023-4-14 20:30
翻译自STL的sort
作者: cf2006a    时间: 2023-4-14 20:38
x下一个学习一下
作者: 寻找星空    时间: 2023-4-14 22:21
这个不错                                             
作者: 亿万    时间: 2023-4-14 22:38

感谢分享
作者: kimeti    时间: 2023-4-14 22:49
谢谢分享
作者: 794229345    时间: 2023-4-14 23:40
膜拜大佬!大佬牛B!
作者: sinewtec    时间: 2023-4-15 09:27
支持开源~!感谢分享
作者: 布点脚本师    时间: 2023-4-15 10:25
        感谢分享,很给力!~
作者: 临安    时间: 2023-4-15 16:10
膜拜大佬!大佬牛B!
作者: pipicool    时间: 2023-4-15 16:11
学习一下
作者: xiaoniu1230    时间: 2023-4-15 20:37
感谢分享 支持开源 !
作者: incwin    时间: 2023-4-15 23:25
感谢分享 支持开源 !

作者: weihua2018    时间: 2023-4-16 00:31
干什么的这个
作者: 396384183    时间: 2023-4-16 21:44
感谢分享
作者: pirate    时间: 2023-4-16 22:23
支持开源~!感谢分享
作者: Azumarill    时间: 2023-4-16 22:55
感谢分享,很给力!~
作者: 二月与我    时间: 2023-4-17 09:50

作者: 安哥    时间: 2023-4-18 09:59
感谢分享,很给力!~
作者: myjsygy    时间: 2023-4-18 22:51
来学习下排序
作者: xxdahai    时间: 2023-4-19 07:31
易语言排序一直不太强,试试这个
作者: eyy2017    时间: 2023-4-19 09:09
6666666666666666666666
作者: 梦雨心君    时间: 2023-4-19 09:35
易语言排序一直不太强,试试这个
作者: opq123    时间: 2023-4-19 12:24
感谢分享,很给力!~
作者: 携易    时间: 2023-4-19 20:52
大神,我来了啊!
作者: 网络注册会员    时间: 2023-4-19 20:57
学习一下
作者: 韦贝贝    时间: 2023-4-23 14:34
sort        
作者: snufgpl    时间: 2023-4-29 00:36
支持开源~!感谢分享
作者: fengyishen    时间: 2023-4-29 14:23
感谢分享。。下载收藏啦
作者: 哔哔芭比波比i    时间: 2023-5-1 20:44
感谢分享 支持一下
作者: lm88818    时间: 2023-5-4 16:02
感谢分享,很给力!~
作者: 嫂子    时间: 2023-10-7 13:20
Delphi前来参战
结果:
生成数组耗时:40ms
写出排序前数组耗时:279ms
排序数组耗时:341ms
写出排序后数组耗时:309ms


楼主易语言代码自带排序  我电脑 耗时500ms

代码如下






欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4