Python排序算法--快速排序

时间:2017-12-05 16:30来源:成都达内 作者:成都达内 点击:

  Python排序算法--快速排序

  快速排序采用的是算法思想中的分治算法,在一次排序后将序列分成两部分,其中一部分的数据比另外一部分的数据都小,然后利用递归分别对两部分数据进行排序,以此达到整个数据变成有序序列;

  def quick_sort(list,left,right):

  if left >= right:

  return list

  key = list[left] #将左边第一位定位基准数,以此数将序列分为两部分

  low = left

  high = right

  while left!=right: #从最右边开始查(一定要从最右边开始查),查找比基准值小的数

  while left <right and list[right]>=key:

  right -= 1

  list[left] = list[right] #从最左边开始查,查找比基准值大的数

  while left <right and list[left]<= key:

  left += 1

  list[right] = list[left]

  list[right] = key

  #分别对两部分数据再调用quick_sort函数

  quick_sort(list,low,left-1)

  quick_sort(list,left+1,high)

  return list

  lis = [1,2,5,3,8,29,3]

  n = len(lis)

  quick_sort(lis,0,n-1)返回结果:[1, 2, 3, 3, 5, 8, 29]

  成都Python培训哪家好,当然是成都达内培训,成都达内是一家专业的程序员培训机构,专注于网络营销课程,成都Python培训,成都软件测试培训,成都php培训,成都java培训,成都安卓培训,成都会计实操培训,web前端开发,成都网络营销培训,成都it培训,成都编程培训,成都程序员培训等IT培训,专业的成都软件培训机构,专业师资授课,真实项目实战、零首付、低押金、名企就业,达内培训,成都Python培训学校www.cdtedu.com/pxkc/py/

(责任编辑:成都达内)

未获取畅言代码,错误消息:sign error

CopyRight © 2002-2016 成都达内科技职业技能培训学校 (www.cdtedu.com) 版权所有 成都达内 川公网安备 51019002000307号 网站地图