思想简单,细节颇多;本以为很简单的两个小程序,写起来发现bug频出,留此纪念。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#usr/bin/env python def binary_search(lst,t): low = 0 height = len (lst) - 1 quicksort(lst, 0 ,height) print lst while low< = height: mid = (low + height) / 2 if lst[mid] = = t: return lst[mid] elif lst[mid]>t: height = mid - 1 else : low = mid + 1 return - 1 def quicksort( lst, left , right): low = left high = right key = lst[left] if left> = right: return 0 while low<high: while low<high and key<lst[high]: high = high - 1 lst[low] = lst[high] while low<high and key>lst[low]: print lst[low] low = low + 1 lst[high] = lst[low] lst[low] = key quicksort( lst , left ,low - 1 ) quicksort( lst , low + 1 , right) if __name__ = = '__main__' : print binary_search([ 4 , 8 , 1 , 5 , 10 , 2 , 12 , 3 , 6 , 9 ], 4 ) |
总结
以上所述是小编给大家介绍的python 二分查找和快速排序实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/qq_25073253/article/details/78225816