Commit 68dcffa5 by BellCodeEditor

save project

parent e8cd511c
Showing with 17 additions and 14 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]
high = len(num_list) - 1
num = 20 def binary_search(alist, num):
low = 0 low = 0
while low <= high: high = len(alist) - 1
mid = (low + high) // 2 while low <= high:
guess = num_list[mid] mid = (low + high) // 2
if guess == num: guess = alist[mid]
print("索引是:",mid) if guess == num:
break return mid
elif guess < num: elif guess < num:
low = mid + 1 low = mid + 1
elif guess > num: elif guess > num:
high = mid - 1 high = mid - 1
print(guess) return None
a = print(binary_search(num_list,3 ))
\ 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