排序算法

Posted yttas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法相关的知识,希望对你有一定的参考价值。

五,快速排序(划分交换排序)

   思想:(选择一个中间值作为一个分割线,分开序列)

  通过第一个值作为中值(注意这里中值并不意味着最后位置是最中间)对整个数列进行划分,然后从右开始做判断,交换进行排序,最后要求:规则:这个中值的左边都小于它,右边都大于它。

  将list[0]提出来,0位空缺

  low游标初始指向0,和high游标指向尾部,在指向空值时不能挪动。high游标先动,直到有不满足规则的,交换空缺和high的值。然后让low游标移动

  以中值左右划分之后的序列再迭代进行快速排序。

 注意:

  迭代的时候再函数里面进行,不是定义之后。在其他函数里面反复调用,那样不是迭代。

  迭代的输入要始终都是要处理的列表,只是不能传入切片,因为切片是取列表的一部分

  if 语句是判断并不能当循环用。

  想用两段代码交替进行,就在外部加一个while,这样循环起来。

以上是关于排序算法的主要内容,如果未能解决你的问题,请参考以下文章

排序算法概述

十大经典排序算法总结(归并排序)

十大经典排序算法总结(桶排序)

十大经典排序算法总结(希尔排序)

十大经典排序算法总结(快速排序)

十大经典排序算法总结(冒泡排序)