误惹黑心上司,品味书香 诵读经典,晏子谏杀烛邹
本文实例讲述了python快速查找算法的应用,分享给大家供大家参考。
具体实现方法如下:
import random def partition(list_object,start,end): random_choice = start #random.choice(range(start,end+1)) #把这里的start改成random()效率会更高些 x = list_object[random_choice] i = start j = end while true: while list_object[i] < x and i < end: i += 1 while list_object[j] > x: j -= 1 if i >= j: break list_object[i],list_object[j] = list_object[j],list_object[i] print list_object #list_object[random_choice] = list_object[j] #list_object[j] = random_choice return j def quick_sort(list_object,start,end): if start < end: temp = partition(list_object,start,end) quick_sort(list_object,start,temp-1) quick_sort(list_object,temp + 1 ,end) a_list = [69,65,90,37,92,6,28,54] quick_sort(a_list,0,7) print a_list
程序测试环境为python2.7.6
输出结果如下:
[54, 65, 28, 37, 6, 69, 92, 90] [6, 37, 28, 54, 65, 69, 92, 90] [6, 37, 28, 54, 65, 69, 92, 90] [6, 28, 37, 54, 65, 69, 92, 90] [6, 28, 37, 54, 65, 69, 90, 92] [6, 28, 37, 54, 65, 69, 90, 92]
希望本文所述对大家的python程序设计有所帮助。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Python 实现将numpy中的nan和inf,nan替换成对应的均值
python爬虫把url链接编码成gbk2312格式过程解析
网友评论