python如何进行排序,快速排序python实现

  python如何进行排序,快速排序python实现

  运作过程

  1.从序列中挑选出一个元素,称为基准,并对序列重新排序。所有小于基准值的元素都放在基准值的前面。

  所有大于基准值的元素都放在基准的后面(相同的数字可以在两边)。在这个分区结束后,基准位于系列的中间。这叫做分区操作。

  2.对小于参考值的元素子系列和大于参考值的元素子系列进行排序。

  3.递归的基本情况是序列的大小为零或一。

  也就是永远排序了。虽然它一直在递归,但这个算法总会结束,因为在每次迭代中,它至少会将一个元素放到它的最后一个位置。

  实例

  #快速排序-递归

  defquick_sort(列表,开始,结束):

  #递归的终止条件是begin=last,即数组大小为1或0。

  #当递归终止时,数组已经有序。

  ifbegin=end:

  返回

  else:

  #以初始值为参考值,然后以参考值为边界对数组进行分区,分区后继续对左右部分调用快速排序函数。

  mid _ value=list[begin]

  低=开始

  高=结束

  #从右到左查找小于参考值的值,从左到右查找大于参考值的值。

  whilelowhigh:

  #从右向左查看小于参考值的值

  while whighandalist[high]=mid _ value :

  高=1

  列表[低]

  #从左到右查找大于参考值的值

  while whighandalist[low]mid _ value :

  低=1

  列表[高]

  #循环结束时,low==high,这是参考点的位置。

  list[low]=中间值

  #对low左侧的元素执行快速排序

  quick _ sort(list,begin,low-1)

  quick_sort(列表,低位1,结束)

  if__name__==__main__:

  list=[54,26,93,17,77,31,44,55,20]

  打印(列表)

  quick _ sort(list,0,len(list)-1)

  Print(alist)以上是python快速排序的操作流程。希望对你有帮助。更多python学习方向:Python基础课程

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: