易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录
退出登录
我要分享内容
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
搜索
精易模块
自绘
界面美化
汇编
POST
API
易语言助手
高级搜索
首页
易语言源码
入门教程源码
初级教程源码
进阶教程源码
高级教程源码
系统工具源码
图形图像源码
多媒体类源码
游戏娱乐源码
数据库类源码
模块控件源码
行业软件源码
网络相关源码
界面美化源码
易语言模块
易语言支持库
易官方支持库
第三方支持库
OCX控件库
辅助类支持库
支持2017link的改造库
易相关资源
易语言版本下载
易语言配色方案
编程辅助工具
编译链接器
易相关资料
电子书类
图文资料
开源大赛
2016开源大赛(第一届)
2017开源大赛(第二届)
2018开源大赛(第三届)
2019开源大赛(第四届)
2020开源大赛(第五届)
2021开源大赛(第六届)
2022开源大赛(第七届)
火山相关资源
火山版本下载
火山安卓源码
火山PC源码
其他资源
JavaScript
PHP
C++
HTML
uni-app
Java
Golang
C#
Delphi
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
当前位置:
易语言资源网
>
高级教程源码
>
帖子内容
【新】通用快速排序框架:高效、简洁、面对对象
[复制链接]
2021-03-01 10:41:05
高级教程源码
易语言资源网
2578
次浏览
来源链接
前言:
开发本排序框架的灵感和部分构架实现方法来自于:
[星]排序框架 简单/通用/类型安全/高效 面向对象/面向组件
正文:
易的本身限制:
由于易本身对象的限(残)制(废),易的排序器和排序算法无法分离,直接导致一种算法无法快速兼容多种数据排序或者是面向对象排序,使得一个排序算法在不同的排序情景下需要重写,这不仅费时费力,而且可能导致一些不可预料的BUG,导致诸如线程不安全,排序错误等问题。
开发初衷:
设计一个更安全,更快捷的排序框架,突破易的一些限制。
重设计构架:
在前言中已经提到:本程序已经站在了巨人的肩膀上:
[星]排序框架 简单/通用/类型安全/高效 面向对象/面向组件
修改了原“抽象排序器”,更加兼容排序算法:
“抽象排序算法”中增加去重复功能(采用吃尾算法实现):
设计亮点:
采用优化的希尔排序算法,排序速度更加快:
优化快速排序算法,在加快了排序速度的同时也增加了其稳定性,在排序乱序数据时基本不会出现堆错误:
增加梳排序算法等算法,在排序算法方面有更多的选择:
排序器和排序算法严格分离,排序算法无法访问排序器中的数据,所以通常都是线程安全的。
支持面向对象排序:
10万数据测试排序无压力:
发散思维:
本程序可以对基类进行简单的修改,从而达到实现更多排序算法的目的。
排序器是通用框架,只需修改几行便可实现通用数据排序。
点我下载
(已有
134
次下载)
引用模块
源码文件名
模块文件名
排序测试.e
数据排序框架.ec
引用支持库
源码文件名
支持库文件名
支持库标识
抽象排序器-源码.e
系统核心支持库 5.3
d09f2340818511d396f6aaf844c7e325
排序测试.e
系统核心支持库 5.3
d09f2340818511d396f6aaf844c7e325
辅助调试支持库 1.5
{A00B8D30-A5AB-4dfe-9546-9E636E711B75}
[错误报告]
上一篇:精易模块V9.1.0 发布【2021.0...
下一篇:[更新]反向内存读写 内核对象远程拷贝 ...
本栏最新
1
简易任务派发系统
2
取文件hash值-控制台程序-支持文件/文本-拖放-命令行-全utf8
3
Lanzou2link蓝奏云解析模块
4
任务栏系统监测 | CPU/内存占用 | 磁盘读写 | 网卡速率 | 天气
5
自绘窗口阴影2.2
6
JOUI频谱更新啦~新增3D水波效果
7
ADB-DLL分享-兼容全网模拟器和真机
8
时区时间转换,支持夏令时
9
批量转换PPT为PDF
10
c语言c++语言注释翻译器
本栏最热
1
OPENSSL加密解密大集合
2
Chrome内核浏览器 易语言源码例子分享
3
易语言之源码密码暴力破解(支持字典)
4
易语言模拟器多开中控源码|
5
简易任务派发系统
6
webkitChrome内核浏览器易语言源码
7
封包拦截工具开源
8
UI美化的动态桌面
9
窗口组件随窗口大小改变自适应大小位置源码
10
易语言版Cef框架WebKit!打造你的HTML5浏览器
栏目标签
API
PE
算法
自绘
截图
多线程
黑月
exui
加密解密
RC4
支持库信息查看
句柄
压缩
排序
UI