Python实现二分法查找

#二分查找

def search_val(data_list, val):
    left = 0
    right = len(data_list) - 1
    while left <= right:
        mid = (left + right) // 2
        if data_list[mid] == val:
            return mid
        elif data_list[mid] > val:
            right = mid - 1
        else:
            left = mid + 1
    return -1

data_list = [1, 2, 3, 5, 6, 7, 8, 9, 12, 34, 45, 56, 66]
val = 3

print(search_val(data_list, val))

 

posted @ 2017-05-25 08:30  赵永杰博客  阅读(231)  评论(0编辑  收藏  举报