快速排序-Python

思路:选择第0位置的元素作为基准,遍历列表将小于基准的放入基准点位置,基准点右移

def quick_sort(alist,start,end):

  if start > end:

    return

  mid = start

  for i in range(start+1,end+1):  # 对end+1是因为range不包含结束位,因此end开始的参数不可以位列表的长度,需要len(alist)-1

    if alist[i] < alist[mid]:

      tmp = alist[i]

      del alist[i]

      alist.insert(mid,tmp)

      mid += 1

  # 对左右侧分别进行快排

  quick_sort(alist,start,mid-1)

  quick_sort(alist,mid+1,end)

  

猜你喜欢

转载自www.cnblogs.com/Sksitigarbha/p/10145023.html