码迷,mamicode.com
首页 > 编程语言 > 详细

排序算法

时间:2018-11-22 22:36:37      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:位置   循环   快速排序   序列   bsp   调用   切片   定义   部分   

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

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

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

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

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

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

 注意:

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

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

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

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

排序算法

标签:位置   循环   快速排序   序列   bsp   调用   切片   定义   部分   

原文地址:https://www.cnblogs.com/yttas/p/10004131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!