排序算法
Posted yttas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法相关的知识,希望对你有一定的参考价值。
五,快速排序(划分交换排序)
思想:(选择一个中间值作为一个分割线,分开序列)
通过第一个值作为中值(注意这里中值并不意味着最后位置是最中间)对整个数列进行划分,然后从右开始做判断,交换进行排序,最后要求:规则:这个中值的左边都小于它,右边都大于它。
将list[0]提出来,0位空缺
low游标初始指向0,和high游标指向尾部,在指向空值时不能挪动。high游标先动,直到有不满足规则的,交换空缺和high的值。然后让low游标移动
以中值左右划分之后的序列再迭代进行快速排序。
注意:
迭代的时候再函数里面进行,不是定义之后。在其他函数里面反复调用,那样不是迭代。
迭代的输入要始终都是要处理的列表,只是不能传入切片,因为切片是取列表的一部分
if 语句是判断并不能当循环用。
想用两段代码交替进行,就在外部加一个while,这样循环起来。
以上是关于排序算法的主要内容,如果未能解决你的问题,请参考以下文章