python版二分法找值

'''
二分法查找value
前提條件是:lst是個有序列表
'''
def bi_search(lst, x):
    begin = 0
    end = len(lst) - 1
    while begin <= end:
        mid = int((end + begin) / 2)
        if lst[mid] == x:
            return mid
        elif lst[mid] < x:
            begin = mid + 1
        elif lst[mid] > x:
            end = mid - 1
    return -1

print(bi_search([6, 8, 16, 27, 36], 16))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章