> ## 实例:快速排序
![](https://box.kancloud.cn/54375b360de472d6e45648502ba38772_473x282.png)
> #### 1>创建窗口
组件>列表框1个,按钮2个,图片框1个
* * * * *
> #### 2>创建子程序
~~~
.版本 2
.子程序 子_快速排序
.参数 参文本数组, 文本型, 数组
.参数 参左边, 整数型, 可空
.参数 参右边, 整数型, 可空
.局部变量 i
.局部变量 j
.局部变量 基准值, 文本型
.如果真 (是否为空 (参左边))
参左边 = 1
.如果真结束
.如果真 (是否为空 (参右边))
参右边 = 取数组成员数 (参文本数组)
.如果真结束
.如果真 (参左边 ≥ 参右边)
返回 ()
.如果真结束
i = 参左边
j = 参右边
基准值 = 参文本数组 [参左边]
.判断循环首 (i < j)
.判断循环首 (i < j 且 参文本数组 [j] ≥ 基准值)
j = j - 1
.判断循环尾 ()
.如果真 (i < j)
参文本数组 [i] = 参文本数组 [j]
i = i + 1
.如果真结束
.判断循环首 (i < j 且 参文本数组 [i] ≤ 基准值)
i = i + 1
.判断循环尾 ()
.如果真 (i < j)
参文本数组 [j] = 参文本数组 [i]
j = j - 1
.如果真结束
.判断循环尾 ()
参文本数组 [i] = 基准值
子_快速排序 (参文本数组, 参左边, i - 1)
子_快速排序 (参文本数组, i + 1, 参右边)
~~~
![](https://box.kancloud.cn/fdd017a2cc18036d8b25b34925608210_356x239.png)
* * * * *
> #### 3>按钮事件
![](https://box.kancloud.cn/3ae8fa5d7d6ee3102e2d54025a506585_396x214.png)
![](https://box.kancloud.cn/7a110cef35bd683c11e9f091048888e4_468x193.png)