python中数据结构链表
时间: 2023-10-17 18:11:32 浏览: 100
链表是一种线性数据结构,可以用来存储一系列元素。它由一系列节点组成,每个节点包含两部分:一个值和一个指向下一个节点的指针。
Python中可以使用类来实现链表数据结构。具体实现方法如下:
1. 定义一个类表示节点,节点包含两个属性:value和next。
```python
class Node:
def __init__(self, value):
self.value = value
self.next = None
```
2. 定义一个链表类,链表包含一个头节点。
```python
class LinkedList:
def __init__(self):
self.head = None
```
3. 实现链表的常用方法:添加节点、删除节点、查找节点等。
```python
class LinkedList:
def __init__(self):
self.head = None
# 添加节点
def add(self, value):
new_node = Node(value)
if not self.head:
self.head = new_node
else:
current_node = self.head
while current_node.next:
current_node = current_node.next
current_node.next = new_node
# 删除节点
def remove(self, value):
current_node = self.head
previous_node = None
while current_node and current_node.value != value:
previous_node = current_node
current_node = current_node.next
if current_node:
if previous_node:
previous_node.next = current_node.next
else:
self.head = current_node.next
# 查找节点
def find(self, value):
current_node = self.head
while current_node and current_node.value != value:
current_node = current_node.next
return current_node
```
4. 使用链表。
```python
# 创建链表
linked_list = LinkedList()
# 添加节点
linked_list.add(1)
linked_list.add(2)
linked_list.add(3)
# 删除节点
linked_list.remove(2)
# 查找节点
node = linked_list.find(3)
if node:
print(node.value)
else:
print("Node not found.")
```
链表是一种常用的数据结构,在Python中可以使用类来实现。链表的添加、删除和查找节点的操作都可以通过遍历链表来完成。
阅读全文