下你所需,载你所想!
汇集开发技术源码资料

易语言快速排序动画演示(quick_sort)

:3.11KB :1 :2023-05-25 12:40:42

部分简介

如果 (start < end) ' 递归执行结束判断
pivotpos = start
pivot = list [start]
i = start + 1
判断循环首 (i ≤ end) ' (原文解释) 找出快排的基数.将一个序列调整成以基数为分割的两个区域,一边全都不小于基数,一边全都不大于基数
轨迹 (标签 [i]) ' 寻到轨迹变色
如果真 (list [i] < pivot)
pivotpos = pivotpos + 1 ' 这行下面要调用
如果真 (list [i] ≠ list [pivotpos]) ' 加一个条件不相等的情况下交换变
动画移动 (标签 [i], 标签 [pivotpos]) ' 动画移动显示
交换变量 (标签 [i], 标签 [pivotpos]) ' 动画变量跟着交换
交换变量 (list [i], list [pivotpos]) ' 数组变量互换
i = i + 1
判断循环尾 ()
如果真 (list [pivotpos] ≠ list [start]) ' 加一个条件不相等的情况下交换变
动画移动 (标签 [pivotpos], 标签 [start]) ' 动画移动显示
交换变量 (标签 [pivotpos], 标签 [start]) ' 动画变量跟着交换
交换变量 (list [pivotpos], list [start]) ' 数组变量互换
调试输出 (list)
quick_sort (list, start, pivotpos - 1) ' 将左边的快排一次
quick_sort (list, pivotpos + 1, end) ' 将右边的快排一次
返回 () ' 递归结束
' quick_sort (list, start, pivotpos - 1) ' 将左边的快排一次
' quick_sort (list, pivotpos + 1, end) ' 将右边的快排一次
' 写上面写这都可以的

热门推荐

相关文章