二分法查找之过程pta
时间: 2023-12-03 17:41:04 浏览: 126
以下是二分法查找过程的Python代码实现:
```python
def binary_search(n, lst, target):
left, right = 0, n - 1
while left <= right:
mid = (left + right) // 2
if lst[mid] == target:
return mid
elif lst[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
n = int(input())
lst = list(map(int, input().split()))
m = int(input())
targets = list(map(int, input().split()))
for target in targets:
print(binary_search(n, lst, target), end=' ')
```
以上代码实现了二分法查找过程,其中`binary_search`函数接收三个参数:`n`表示列表长度,`lst`表示列表,`target`表示要查找的目标值。函数返回目标值在列表中的下标,如果目标值不在列表中,则返回-1。在主函数中,首先读入列表长度`n`和列表`lst`,然后读入要查找的目标值个数`m`和目标值列表`targets`,最后依次输出每个目标值在列表中的下标。
阅读全文