时间:2021-07-01 10:21:17 帮助过:3人阅读
思想简单,细节颇多;本以为很简单的两个小程序,写起来发现bug频出,留此纪念。
#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实现二分查找与快速排序实例详解的详细内容,更多请关注Gxl网其它相关文章!