Python 二分法查找元素例子
时间: 2023-11-05 13:08:58 浏览: 104
以下是一个使用 Python 实现的二分法查找元素的例子:
```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:
right = mid - 1
# 如果中间位置的值小于要查找的值,将左边界移动到中间位置右边一位
else:
left = mid + 1
# 如果找不到,返回 -1
return -1
# 测试
arr = [1, 3, 4, 6, 8, 9, 11]
x = 4
result = binary_search(arr, x)
if result != -1:
print("元素在数组中的位置为", result)
else:
print("元素不在数组中")
```
输出结果为:
```
元素在数组中的位置为 2
```
以上代码实现了一个使用二分法查找元素的函数 `binary_search`,该函数接受一个有序数组 `arr` 和要查找的元素 `x`,返回元素在数组中的位置,如果找不到返回 -1。在上面的例子中,我们测试了在数组 `[1, 3, 4, 6, 8, 9, 11]` 中查找元素 4 的位置,输出结果为 2,即元素在数组的第 2 个位置。
阅读全文