二分法查找实现(一定是有序序列)
def half_search(alist,num,length):
i = 0
j = length-1
mid = j//2
while alist[mid] != num and i<=j:
if alist[mid]<num:
i = mid+1
else:
j = mid-1
mid =(i+j)//2
if alist[mid] ==num:
print(f"已找到{num}位于下标{mid}处")
else:
print("未找到相应元素!")
if __name__ == '__main__':
alist = [1, 2, 3, 4, 5, 6, 7]
half_search(alist, 3, len(alist))