二分法查找python的实现

def BinSearch(ls, value):
"""
使用二分法查找时列表内的元素必须是已经排好序的
:param ls:
:param value:
:return:
"""
minValue = 0
maxValue = len(ls) - 1
 
if value in ls:
while True:
center = int((minValue + maxValue) / 2)
if ls[center] > value:
maxValue = center - 1
 
elif ls[center] < value:
minValue = center + 1
 
elif ls[center] == value:
print("元素的索引是%s" % center)
break
 
else:
print("没有找到元素 %s" % value)
 
 
if __name__ == "__main__":
# datas = range(1, 1000)
datas = [88, 55, 22, 11, 99, 66, 77]
datas.sort()
print(datas)
BinSearch(datas, 88)
 

转载于:https://www.cnblogs.com/SunshineLittleCat/p/8279245.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值