线性表链接存储结构的Python实现,写出实现节点类,单链表,单链表的存取、查找、插入、删除算法具体程序实例
时间: 2024-10-18 20:18:11 浏览: 7
线性表的链式存储结构在Python中通常通过定义一个Node类表示链表中的每个节点,然后构建LinkedList类来管理整个链表的操作。以下是简单的实现:
```python
# 定义Node类
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
# 定义LinkedList类
class LinkedList:
def __init__(self):
self.head = None
# 插入数据到链表头部
def insert_at_beginning(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
# 插入数据到链表尾部
def append(self, data):
if not self.head:
self.head = Node(data)
return
current = self.head
while current.next:
current = current.next
current.next = Node(data)
# 查找特定值并返回其所在的节点,如果不存在则返回None
def search(self, target):
current = self.head
while current and current.data != target:
current = current.next
return current
# 删除指定值的第一个匹配项
def delete(self, target):
if not self.head or self.head.data == target:
self.head = self.head.next
return
prev = None
current = self.head
while current and current.data != target:
prev = current
current = current.next
if current is not None:
prev.next = current.next
# 示例操作
linked_list = LinkedList()
linked_list.insert_at_beginning(1)
linked_list.append(2)
linked_list.append(3)
print("After insertion:", linked_list.search(2)) # 输出第一个找到的2
linked_list.delete(2) # 删除第一个2
```
阅读全文