线性探测法的查找函数
时间: 2024-06-13 13:09:45 浏览: 148
以下是线性探测法的查找函数的Python实现:
```python
def search(hash_table, key):
"""
线性探测法查找给定键值的记录
:param hash_table: 哈希表
:param key: 给定键值
:return: 如果找到,返回对应记录的位置;否则返回ERROR
"""
hash_value = hash_func(key) % len(hash_table) # 计算哈希值
flag = 0 # 标记是否已经遍历了一遍
while hash_table[hash_value] is not None:
if hash_table[hash_value].key == key:
return hash_value # 找到了,返回位置
else:
hash_value = (hash_value + 1) % len(hash_table) # 线性探测下一个位置
if hash_value == hash_func(key) % len(hash_table):
if flag == 0:
flag = 1
else:
break # 已经遍历了一遍,退出循环
return "ERROR" # 没找到,返回ERROR
```
阅读全文