为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

易语言快速排序(quick sort)算法源码

三叶资源网 2019-09-01 21:33:55 易语言例程 2595 ℃ 2 评论
.版本 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)

@沧海

文件下载

Tags:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有2位网友发表了看法:

  • 易语言

    易语言  评论于 [2020-03-23 10:36:21]  回复

    易语言quicksort

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
次世代网页填表seo对象增强操作模块AES加密音速启动工具箱电商获取拼多多指定店铺商品详情源码sqlcipher数据库XML解析器BPL综合例程高仿2014QQ界面客户端文字游戏DX2登录RTF文本转图片胡来网post注册智慧职教服务器组件酷Q插件
最新评论