二分查找

def binary_search(List, item):
    # 设置头指针和尾指针
    low = 0
    height = len(List) - 1
    
    # 当头指针大于尾指针时,查找结束
    while low <= height:
        mid = (low + height) // 2
        guess = List[mid]  # 猜测的数
        if guess == item:
            return mid  # 返回查找的目标数字的下标
        if guess > item:
            height = mid - 1
        else:
            low = mid + 1
    return None  # 如果没有指定元素,返回None
my_list = [1,3,5,7,9]
print(binary_search(my_list, 3))
print(binary_search(my_list, -1))

 

posted @ 2019-10-17 09:18  我叫郑小白  阅读(154)  评论(0编辑  收藏  举报