编写代码添加联系人到链表和哈希表
时间: 2024-09-12 18:09:23 浏览: 37
当你想在代码中使用链表或哈希表存储联系人时,选择哪种数据结构取决于你具体的需求。下面是两种常见情况的简单介绍:
**链表(Linked List)**:
链表适合于插入和删除操作频繁的情况,因为它们不需要像数组那样移动元素。对于每个联系人,你可以创建一个节点,包含姓名、电话号码等信息。以下是如何在Python中创建一个简单的链表节点:
```python
class ContactNode:
def __init__(self, name, phone):
self.name = name
self.phone = phone
self.next = None
# 添加联系人到链表
def add_to_linked_list(head, contact):
if not head:
head = ContactNode(contact.name, contact.phone)
else:
current = head
while current.next:
current = current.next
current.next = ContactNode(contact.name, contact.phone)
return head
```
**哈希表(Dictionary 或 HashMap)**:
如果你需要快速查找联系人(基于姓名或其他唯一标识),哈希表是一个更好的选择,因为它提供常数时间复杂度的查找。在Python中,你可以用字典(`dict`)来存储,键是名字,值是联系方式:
```python
# 假设我们有一个名为contacts的字典
contacts = {}
# 添加联系人
def add_to_hash_table(contacts, contact):
if contact.name not in contacts:
contacts[contact.name] = contact.phone
else:
print("Contact already exists!")
return contacts
# 示例
new_contact = {"name": "Alice", "phone": "123456"}
add_to_hash_table(contacts, new_contact)
```
阅读全文