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

快速排序

时间:2019-01-19 17:34:40      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:快速   sort   何事   list   quick   index   def   end   int   

def quick_sort(sort_list, start_index, end_index):
if start_index < end_index: # 如果角标左侧小于右侧则开始排序,否则退出
  basic, i, j = sort_list[start_index], start_index, end_index
  while i < j:
    while i < j and basic <= sort_list[j]: # 基准值比j(右侧)小,那么该值不做任何事情
      j -= 1
    while i < j and basic >= sort_list[i]:
      i += 1
    sort_list[i], sort_list[j] = sort_list[j], sort_list[i]
  sort_list[i], sort_list[start_index] = sort_list[start_index], sort_list[i]
  quick_sort(sort_list, start_index, i - 1)
  quick_sort(sort_list, i + 1, end_index)
l = [10, 6, 9, 18, 20, 5, 7, 15, 14, 18,19]
quick_sort(l,0,len(l)-1)
print(l)

快速排序

标签:快速   sort   何事   list   quick   index   def   end   int   

原文地址:https://www.cnblogs.com/an5456/p/10292200.html

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