利用哈希表实现电话号码管理系统
时间: 2023-09-22 16:06:02 浏览: 55
一个简单的电话号码管理系统可以使用哈希表来实现。哈希表是一个由键值对组成的数据结构,其中每个键唯一地对应于一个值。使用哈希表可以快速地查找电话号码,而不需要遍历整个电话簿。
以下是一个使用哈希表实现电话号码管理系统的示例代码:
```python
class PhoneNumber:
def __init__(self, name, number):
self.name = name
self.number = number
class PhoneBook:
def __init__(self):
self.phone_book = {}
def add_number(self, name, number):
self.phone_book[name] = PhoneNumber(name, number)
def remove_number(self, name):
if name in self.phone_book:
del self.phone_book[name]
def lookup_number(self, name):
if name in self.phone_book:
return self.phone_book[name].number
else:
return None
```
上述代码中,我们定义了两个类:PhoneNumber(电话号码)和PhoneBook(电话簿)。PhoneNumber类包含一个姓名和一个电话号码。PhoneBook类包含一个哈希表,用于存储电话号码,以及三个方法:add_number(添加电话号码)、remove_number(删除电话号码)和lookup_number(查找电话号码)。
当我们添加一个电话号码时,我们将姓名作为键,PhoneNumber对象作为值,存储在哈希表中。当我们查找电话号码时,我们使用姓名作为键查找哈希表,并返回对应的电话号码。当我们删除电话号码时,我们使用姓名作为键从哈希表中删除对应的PhoneNumber对象。
在使用哈希表实现电话号码管理系统时,我们需要注意选择一个适当的哈希函数,使得键值能够均匀地分布在哈希表中。同时,我们需要处理哈希冲突,以确保不同的键值不会映射到同一个位置上。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)