Commit f796c92c by BellCodeEditor

save project

parent 1b66f268
Showing with 32 additions and 8 deletions
import random
# 使用二分查找法,找出9和20在列表里面的索引
num_list = [1, 3, 5, 8, 11, 15, 17, 18, 20, 21]
testList = [1371, 102841, 1324, 124, 5432, 124, 20, 9]
alist = []
for i in range(1, 101):
alist.append(i)
num = random.choice(alist)
# 请完善二分查找函数binary_search(),查找出num在列表alist里面的索引位置
def binary_search(alist,num):
\ No newline at end of file
def BubbleSort(varList):
secondList = varList
for i in range(0, len(secondList) - 1):
for index in range(0, len(secondList) - 1):
if secondList[index] > secondList[index + 1]:
secondList[index], secondList[index + 1] = secondList[index + 1], secondList[index]
return secondList
def BinarySearch(findNum, searchList):
searchList = BubbleSort(searchList)
high = len(searchList) - 1
low = 0
while high >= low:
mid = (high + low) // 2
num = searchList[mid]
if num == findNum:
return mid
elif num >= findNum:
high = mid - 1
else:
low = mid + 1
return None
print(BinarySearch(9, testList))
print(BinarySearch(20, testList))
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