
移动
1. 首先确定要查找的元素 x,定义左右指针 left 和 right,其分别指向数组的左右边界。
2. 在 while 循环中,每次将 left 和 right 指针中间的位置 mid 计算出来。

Python
4. 如果中间元素小于 x,说明 x 在右半部分,将 left 指针移动到 mid+1 的位置。
5. 如果中间元素大于 x,说明 x 在左半部分,将 right 指针移动到 mid-1 的位置。
6. 如果没有找到 x,则返回 -1 表示未找到。
示例代码如下:
Python
def binary_search(arr, x):
left, right = 0, len(arr)-1
while left <= right:
mid = (left + right) // 2
if arr[mid] == x:
return mid
elif arr[mid] < x:
left = mid + 1
else:
right = mid - 1
return -1
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
x = 5
result = binary_search(arr, x)
if result != -1:
print(f"Element is present at index {result}")
else:
print("Element is not present in array")
输出结果为:Element is present at index 4,表示元素 5 在数组的第 4 个位置上。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号