网站首页 > 易语言相关 > 易语言例程 正文
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.子程序 quicksort
.参数 list, 整数型, 数组
.参数 m, 整数型
.参数 n, 整数型
.局部变量 key, 整数型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 k, 整数型
.如果真 (m < n)
k = choose_pivot (m, n)
swap (list [m], list [k])
key = list [m]
i = m + 1
j = n
.判断循环首 (i ≤ j)
.判断循环首 (i ≤ n 且 list [i] ≤ key)
i = i + 1
.判断循环尾 ()
.判断循环首 (j ≥ m 且 list [j] > key)
j = j - 1
.判断循环尾 ()
.如果真 (i < j)
swap (list [i], list [j])
.如果真结束
.判断循环尾 ()
swap (list [m], list [j])
quicksort (list, m, j - 1)
quicksort (list, j + 1, n)
.如果真结束
' void quicksort(int list[], int m, int n)
' {
' int key, i, j, k;
' if (m < n)
' {
' k = choose_pivot(m, n);
' swap(&list[m], &list[k]);
' key = list[m];
' i = m + 1;
' j = n;
' while (i <= j)
' {
' while ((i <= n) && (list[i] <= key))
' i++;
' while ((j >= m) && (list[j] > key))
' j--;
' if (i < j)
' swap(&list[i], &list[j]);
' }
' // 交换两个元素的位置
' swap(&list[m], &list[j]);
' // 递归地对较小的数据序列进行排序
' quicksort(list, m, j - 1);
' quicksort(list, j + 1, n);
' }
' }
.子程序 swap
.参数 x, 整数型, 参考
.参数 y, 整数型, 参考
.局部变量 temp, 整数型
temp = x
x = y
y = temp
' void swap(int *x, int *y)
' {
' int temp;
' temp = *x;
' *x = *y;
' *y = temp;
' }
.子程序 choose_pivot, 整数型
.参数 i, 整数型
.参数 j, 整数型
返回 ((i + j) ÷ 2)
' int choose_pivot(int i, int j)
' {
' return((i + j) / 2);
' }
.子程序 _按钮1_被单击
.局部变量 list, 整数型, , "30000"
.局部变量 i, 整数型
.局部变量 temp, 整数型
.局部变量 time, 整数型
置随机数种子 ()
time = 取启动时间 ()
.计次循环首 (取数组成员数 (list), i)
list [i] = 取随机数 (, )
.计次循环尾 ()
quicksort (list, 1, 取数组成员数 (list))
调试输出 (list)
调试输出 (取启动时间 () - time)@沧海
- 上一篇: 鼠标指针特性泡泡源码
- 下一篇: 精易模块[v7.6.0]
猜你喜欢
- 2019-06-02 易语言快速排序 支持倒序
- 2019-04-28 易语言快速排序源码
- 2017-02-19 希尔排序模块源码-10万超级列表框排序只花1秒
- 2017-02-16 可视化排序之 - 冒泡排序源码
- 2017-02-15 可视化排序之 - 希尔排序源码
欢迎 你 发表评论:
- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag









已有2位网友发表了看法:
易语言 评论于 [2020-03-23 10:36:21] 回复
易语言quicksort
易语言资源 评论于 [2021-12-06 14:15:11] 回复
易语言快速排序