以下是 Python 代码实现在有序数列中查找元素 x 是否存在:
def binary_search(arr, left, right, x):
"""
二分查找算法实现
"""
if left <= right:
mid = (left + right) // 2
if arr[mid] == x:
return mid
elif arr[mid] < x:
return binary_search(arr, mid+1, right, x)
else:
return binary_search(arr, left, mid-1, x)
else:
return -1
# 主程序
if __name__ == "__main__":
arr = list(map(int, input("请输入有序数列,用空格分隔:").split()))
x = int(input("请输入要查找的元素:"))
result = binary_search(arr, 0, len(arr)-1, x)
if result == -1:
print("不存在")
else:
print("%d 在数列中的位置为 %d" % (x, result))