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)

猜你喜欢

转载自www.cnblogs.com/chrislina/p/9238873.html