Commit 43b52b89 by BellCodeEditor

auto save

parent cf007427
Showing with 21 additions and 16 deletions
# 使用二分查找法,找出9和20在列表里面的索引 # 使用二分查找法,找出9和20在列表里面的索引
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21] import random
low=0 alist=[]
high=len(num_list)-1 for i in range(1,101):
alist.append(i)
num=1#random.choice(alist)
# num=60
# low=0
# high=len(alist)-1
def b_s(alist,num): def b_s(alist,num):
low=0 low=0
high=len(alist)-1 high=len(alist)-1
while low<=high: while low<=high:
guess=alist[mid]
mid=(low+high)//2 mid=(low+high)//2
num=alist[mid] guess=alist[mid]
if guess==num: if guess==num:
print('找到了',mid) return mid
break elif guess<num:
elif guess<num: low=mid+1
high=mid-1 else:
else: high=mid-1
low=mid+1 return None
result=b_s(alist,num)
r=b_s(num_list,21) print("数",num)
print(r) print("索引是",result)
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment