Commit dea8e2b9 by BellCodeEditor

save project

parent e91ccf02
Showing with 15 additions and 13 deletions
# 使用二分查找法,找出9和20在列表里面的索引 # 使用二分查找法,找出9和20在列表里面的索引
num_list = [1, 3, 5, 8, 11, 15, 17, 18 , 20, 21] num_list = [1, 3, 5, 8, 11, 15, 17, 18 , 20, 21]
low = 0 def binary_search(alist,num):
high = len(num_list)-1 low = 0 #最低索引
num = 20 high = len(alist)-1#最高索引
while low <= high: while low <= high: #当最低索引小于等于最高索引
mid = (low + high)//2 mid = (low + high)//2
guess = num_list[mid] guess = num_list[mid]
if guess == num: if guess == num:
print("找到了,它的索引是:",mid) return mid
break elif guess < num:
elif guess < num: low = mid + 1
low = mid + 1 else:
else: high = num - 1
high = num - 1 return None
r = binary_search(num_list,9)
print(r)
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