编写函数,要求实现二分查找算法,已知序列为:arr = [3, 6, 7, 10, 15, 30, 39, 45,60]。 格式输入1: 6 格式输出1: 要查找的元素是: 6 要查找的元素在序列中的位置为1
时间: 2023-08-03 15:08:31 浏览: 89
算法--二分查找
以下是实现二分查找算法的Python函数:
```python
def binary_search(arr, target):
left = 0
right = len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
```
其中,`arr`表示序列,`target`表示要查找的元素。函数返回值为要查找的元素在序列中的位置,如果不存在则返回-1。
使用上述函数,可以实现如下功能:
```python
arr = [3, 6, 7, 10, 15, 30, 39, 45, 60]
target = int(input("要查找的元素是:"))
index = binary_search(arr, target)
if index != -1:
print("要查找的元素在序列中的位置为{}".format(index))
else:
print("要查找的元素不存在")
```
运行结果如下:
```
要查找的元素是:6
要查找的元素在序列中的位置为1
```
阅读全文