Commit 70969464 by BellCodeEditor

save project

parent c46068b0
Showing with 11 additions and 8 deletions
# 使用二分查找法,找出9和20在列表里面的索引 # 使用二分查找法,找出9和20在列表里面的索引
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21] import random
alist=[]
for i in range(1,101):
alist.append(i)
num=random.choice(alist)
def bs(alist,num): def bs(alist,num):
low=0 low=0
high=len(alist)-1 high=len(alist)-1
guess=21
while low<=high : while low<=high :
mid=(low+high)//2 mid=(low+high)//2
num=alist[mid] guess=alist[mid]
if guess==num: if guess==num:
print('找到了'+str(guess)+"索引位是:",mid) return mid
break
elif guess<num: elif guess<num:
high=mid-1 high=mid-1
else: else:
low= mid+1 low= mid+1
result=bs(num_list,21) result=bs(alist,num)
print(num)
print(result) print(result)
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