线性表的链式表示与实现代码
时间: 2024-10-23 19:11:34 浏览: 12
线性表的链式表示是一种数据结构,它将元素存储在独立的节点中,每个节点包含数据域和指针域,后者用于指向下一个节点。这种表示方法不需要连续的内存空间,可以动态地增加或删除元素,适合于频繁的插入和删除操作。
链表的主要类型有单向链表、双向链表和循环链表。以下是使用Python实现单向链表的一个简单例子:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
# 插入节点到链表头部
def insert_at_start(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
# 插入节点到链表尾部
def insert_at_end(self, data):
if not self.head:
self.head = Node(data)
else:
current = self.head
while current.next:
current = current.next
current.next = Node(data)
# 删除指定值的节点
def delete_node(self, key):
if self.head and self.head.data == key:
self.head = self.head.next
return
current = self.head
prev = None
while current and current.data != key:
prev = current
current = current.next
if current is None:
return
prev.next = current.next
# 使用示例
linked_list = LinkedList()
linked_list.insert_at_start(1) # 添加节点到头
linked_list.insert_at_end(3) # 添加节点到尾
linked_list.delete_node(2) # 删除特定值的节点
```
阅读全文