用python写一段二分法查找的程序
时间: 2024-05-14 16:15:06 浏览: 175
Python实现二分法算法实例
以下是用 Python 写的一个简单的二分法查找程序:
```python
def binary_search(arr, x):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] < x:
low = mid + 1
elif arr[mid] > x:
high = mid - 1
else:
return mid
return -1
arr = [2, 4, 7, 9, 12, 15, 19, 21]
x = 15
result = binary_search(arr, x)
if result != -1:
print(f"元素在索引 {result} 处")
else:
print("元素不在数组中")
```
在这个程序中,我们定义了一个名为 `binary_search` 的函数,它接受两个参数:`arr` 表示要查找的数组,`x` 表示要查找的元素。函数使用一个 while 循环来执行二分查找,每次迭代都将数组分成两部分,然后根据中间元素与要查找的元素的大小关系缩小查找范围。如果找到了要查找的元素,函数会返回它的索引;否则,函数会返回 -1。在主程序中,我们定义了一个数组和要查找的元素,然后调用 `binary_search` 函数来查找它们。如果找到了元素,程序会输出它的索引;否则,程序会输出“元素不在数组中”。
阅读全文