定义一个函数Binary_Search,实现二分查找,输入参数为列表search_list与待查找的数target,如果找到则输出其索引,未找到输出None
时间: 2024-10-16 19:13:49 浏览: 9
Binary_Search_Algorithm:执行迭代二进制搜索以查找整数在给定排序列表中的位置。 a_list-排序的整数列表item-要搜索其位置的整数
好的,下面是一个简单的Python函数 `binary_search` 实现二分查找算法:
```python
def binary_search(search_list, target):
left = 0
right = len(search_list) - 1
while left <= right:
mid = (left + right) // 2
if search_list[mid] == target:
return mid
elif search_list[mid] < target:
left = mid + 1
else:
right = mid - 1
# 如果没有找到目标,返回 None
return None
# 示例用法:
numbers = [1, 3, 5, 7, 9]
target = 5
result_index = binary_search(numbers, target)
if result_index is not None:
print(f"找到了,索引是 {result_index}")
else:
print("没找到")
```
这个函数首先初始化两个指针,分别指向列表的开始和结束。然后在一个循环中,它不断将搜索范围缩小到中间元素。如果中间元素等于目标值,就返回它的索引;如果中间元素小于目标值,就在右半部分继续查找;反之,在左半部分查找。如果没有找到目标值,最后返回 `None`。
阅读全文