和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)算法实现。这个算法是个缝合怪,它汲取了插入排序、堆排序以及快排的优点: