顺序查找二分查找代码
时间: 2023-12-25 14:29:27 浏览: 32
以下是顺序查找和二分查找的代码示例:
1. 顺序查找代码示例:
```python
def linear_search(val, li):
"""
:param li: 要搜索的数据列表
:param val: 要查找的值
:return: 返回索引
"""
for i in range(len(li)): # 遍历列表
if li[i] == val: # 查找是否等于查找值
return i
return None
li = [17, 20, 26, 31, 44, 54, 55, 65, 77, 93]
print(linear_search(54, li)) # 输出:5
```
2. 二分查找代码示例:
```python
def binary_search(val, li):
"""
:param li: 要搜索的数据列表(必须是有序列表)
:param val: 要查找的值
:return: 返回索引
"""
low = 0
high = len(li) - 1
while low <= high:
mid = (low + high) // 2
if li[mid] == val:
return mid
elif li[mid] < val:
low = mid + 1
else:
high = mid - 1
return None
li = [17, 20, 26, 31, 44, 54, 55, 65, 77, 93]
print(binary_search(54, li)) # 输出:5
```