二分查找(函数)

该代码定义了一个Binary_search函数,用于在已排序的列表中进行二分查找。输入是待查找的列表和目标值,返回值为是否找到目标。在循环中,函数通过比较中间元素与目标值来调整搜索范围,直到找到目标或搜索范围为空。样例展示了一个查找45在给定列表中的情况,输出为找到该数。

【问题描述】完善Binary_search(lt)函数,实现二分查找功能。

【输入形式】输入待查找数列,和需要查找的数据。
【函数返回值】查找到返回True,未找到返回False.
【样例输入】

[4,6,7,9,45,78,87]

45


【样例输出】

找到该数

def Binary_search(lt):
    low = 0
    high = len(lt) - 1
    flag = False
    while high-low>=1 and flag == False:  # 使用m指向l和h的中间位置
        m = (high + low) // 2
        if lt[m] == x:
            flag = True
        elif lt[m] < x:
            low = m + 1
        else:
            high = m
    return flag
lt = eval(input())
x = eval(input())
if Binary_search(lt) == True:
    print('找到该数')
else:
    print('未找到该数')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值