Commit 40e0fa27 by BellCodeEditor

auto save

parent b250abfe
Showing with 18 additions and 2 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]
\ No newline at end of file
def binary_search(alist,num):
low = 0 # 初始最低索引
high = len(alist)-1 # 初始最高索引
while low <= high: # 当最低索引小于等于最高索引
mid = (low + high) // 2
guess = alist[mid]
if guess == num: # 中间值等于查找对象,返回索引
return mid
elif guess < num: # 中间值小于查找对象
low = mid + 1
else: # 中间值大于查找对象
high = mid - 1
return None
a = binary_search(num_list,11)
print(a)
\ 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