请实现一个链式的哈希表,用Python写
时间: 2023-05-27 07:07:16 浏览: 101
以下是一个用Python实现的链式哈希表:
```python
class HashTable:
def __init__(self, size=11):
self.size = size
self.table = [[] for _ in range(self.size)]
def hash_func(self, key):
return key % self.size
def insert(self, key, value):
index = self.hash_func(key)
self.table[index].append((key, value))
def delete(self, key):
index = self.hash_func(key)
for i, item in enumerate(self.table[index]):
if item[0] == key:
del self.table[index][i]
return True
return False
def search(self, key):
index = self.hash_func(key)
for item in self.table[index]:
if item[0] == key:
return item[1]
return None
```
这个哈希表使用了一个列表(`table`)来存储所有的键值对,每个键值对都被添加到哈希表中的一个链表中。哈希函数使用了取模算法,将键映射到一个索引位置。`insert()` 方法将键值对添加到相应的链表中,`delete()` 方法从链表中删除给定的键,`search()` 方法在相应的链表中查找给定的键,并返回相应的值。
阅读全文