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

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

易语言快速排序源码

三叶资源网 2019-04-28 12:05:33 易语言例程 1797 ℃ 0 评论

易语言快速排序源码,

@red233

.版本 2

.程序集 窗口程序集_启动窗口

.子程序 QuickSort
.参数 Array, 整数型, 数组
.参数 Left, 整数型
.参数 Right, 整数型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 key, 整数型

.如果真 (Left ≥ Right)
    返回 ()
.如果真结束
i = Left
j = Right
key = Array [Left]  ' 保存左边值

.判断循环首 (i < j)
    .判断循环首 (i < j 且 Array [j] ≥ key)  ' 从右边寻找一个小于key的值
        j = j - 1
    .判断循环尾 ()
    Array [i] = Array [j]  ' 找到后将该值赋值给左边
    .判断循环首 (i < j 且 Array [i] ≤ key)  ' 从左边寻找一个大于key的值
        i = i + 1
    .判断循环尾 ()
    Array [j] = Array [i]  ' 找到后将该值赋值给右边
.判断循环尾 ()

Array [i] = key  ' 上一步左边值被覆盖,现将保存后的值归还
' 此时出循环的情况为 i = j,从右边已经找不到比key小的值或者从左边已经找不到比key大的值,所以可以暂时不理会i的值
QuickSort (Array, Left, j - 1)  ' 继续排序Left到,j - 1
QuickSort (Array, i + 1, Right)  ' 继续排序i + 1到,Right

.子程序 __启动窗口_创建完毕




.子程序 _按钮1_被单击
.局部变量 Array, 整数型, , "0"
.局部变量 Random, 整数型
.局部变量 i, 整数型
.局部变量 TimeStart, 整数型
.局部变量 TimeTotal, 整数型

置随机数种子 ()
编辑框1.内容 = “”
编辑框1.加入文本 (“排序前”, #换行符)
.计次循环首 (到整数 (编辑框2.内容), )
    Random = 取随机数 (, 9999)
    加入成员 (Array, Random)
    编辑框1.加入文本 (到文本 (Random) + “ ”)
.计次循环尾 ()
编辑框1.加入文本 (#换行符, “排序后”, #换行符)
TimeStart = 取启动时间 ()
QuickSort (Array, 1, 取数组成员数 (Array))
TimeTotal = 取启动时间 () - TimeStart
.计次循环首 (取数组成员数 (Array), i)
    编辑框1.加入文本 (到文本 (Array [i]) + “ ”)
.计次循环尾 ()
编辑框1.加入文本 (#换行符, “排序” + 编辑框2.内容 + “位数耗时”, #换行符, 到文本 (TimeTotal), “毫秒”)
文件下载

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

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

网站分类
随机tag
模拟斗地主游戏查大鱼号昵称新浪股吧Android面试宝典6.0多线程例子自动售卡新浪博客书法nodejs require复制组件魔鬼作坊文本处理开心ol前台打怪自动检查更新DLL函数查看器因特网服务支持库快递查询工具源码酷Q插件多线程传文本型参数VMware
最新评论