
例子:
.版本 2
.子程序 左右查找
.参数 左边值, 整数型
.参数 右边值, 整数型
.参数 查找数组, , 数组
.参数 ww, , 参考 可空 数组
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 中间值, 整数型
.如果真 (左边值 ≥ 右边值)
返回 ()
.如果真结束
i = 左边值
j = 右边值
.判断循郑升环首 (j ≠ i)
.判断循环首 (查找数组 [左边值] ≤ 查找数组 [j] 且 i < j)
j = j - 1
.判断循环尾 ()
.判断循环首 (查找数组 [左边值] ≥ 查找数颤仿组 [i] 且 i < j)
i = i + 1
.判断循环尾 ()
.如果真 (i < j)
中间值 = 查找数组 [j]
查找数组 [j] = 查找数组 [i]
查找数组 [i] = 中间值
.如果真结束
.判断循环尾 ()
中间值 = 查找数组 [左边值]
查找数组 [左边值] = 查找数组 [i]
查找数组 [i] = 中间值
左右查找茄丛纤 (左边值, i - 1, 查找数组, ) ' 继续处理左边的,这里是个递归的过程
左右查找 (i + 1, 右边值, 查找数组, ) ' 继续处理右边的,这里是个递归的过程
ww = 查找数组
' 以上是快速排序的代码实现,核心所在是递归的过程。
.版本 2.程虚和序集 窗口程序集_启动窗口
.子程序 _按钮1_被单击
.局部变量 a, 整数型, , "5"
a = { 1, 2, 3, 4, 5 }
排列 (a, 3)
.子程序 排粗竖列
.参数 a, 整数型, 数组
.参数 n, 整数型
.局部变量 i, 整数型
.局部变量 j, 整数型
.局部变量 k, 整数型
.局部变量 临时文本, 文本型
.计次循环首 (到整数 (求次方 (2, 取数组成员数 (a))) - 1, i)
k = 0
临时文本 = “”
j = 1
.判断循环首 (i ≠ 0)
.如果真 (i % 2 = 1)
k = k + 1
临时文本 = 临时文本 + 到文本 (a [j])
.如果真结束
i = i ÷ 2
j = j + 1
.判断循环尾 ()
.如果真 (k = n)
编辑框1.加入文本 (临时文本 + #换行符)
.如果岩誉大真结束
.计次循环尾 ()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)