Python 二分法查找

使用二分法查找前提必須是有序的數列函數

 

def search(list,val):
    start = 0
    end = len(list)-1
    #判斷該數在不在列表中
    if val in list:
        #循環直到找到該數,return退出函數
        while 1:
            mid = int((start + end)/2) #取整數部分
            if list[mid] == val:
                print('你要查找的數的下標爲:%s,'%mid)
                return mid

            elif list[mid] > val:
                end = mid-1

            elif list[mid] < val:
                start = mid+1

    else:
        print('沒有該數')
list = [1,2,3,4,5,6,7,8,9]
val = 6
search(list,val)
相關文章
相關標籤/搜索