易语言快速排序源码

易语言快速排序源码,

.版本 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), “毫秒”)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注