Python实现链表

1. 流程图

flowchart TD
    A(开始) --> B(导入模块)
    B --> C(定义节点类)
    C --> D(初始化链表)
    D --> E(插入节点)
    E --> F(删除节点)
    F --> G(打印链表)
    G --> H(结束)

2. 步骤及代码示例

1. 导入模块

在Python中,我们需要导入模块来操作链表,最常用的模块是collections中的deque

```python
from collections import deque

### 2. 定义节点类

定义一个节点类来表示链表中的每个节点,包含一个值和一个指向下一个节点的指针。

```markdown
```python
class Node:
    def __init__(self, value):
        self.value = value
        self.next = None

### 3. 初始化链表

创建一个空链表,将其头节点指向None。

```markdown
```python
class LinkedList:
    def __init__(self):
        self.head = None

### 4. 插入节点

实现在链表中插入节点的方法,可以在链表的头部、尾部或指定位置插入节点。

```markdown
```python
def insert_node(self, value):
    new_node = Node(value)
    if self.head is None:
        self.head = new_node
    else:
        current = self.head
        while current.next:
            current = current.next
        current.next = new_node

### 5. 删除节点

实现在链表中删除节点的方法,可以根据值或索引删除节点。

```markdown
```python
def delete_node(self, value):
    current = self.head
    if current.value == value:
        self.head = current.next
    else:
        while current.next:
            if current.next.value == value:
                current.next = current.next.next
            current = current.next

### 6. 打印链表

实现打印链表的方法,用于查看链表中的节点。

```markdown
```python
def print_list(self):
    current = self.head
    while current:
        print(current.value)
        current = current.next

## 3. 饼状图

```mermaid
pie
    title 链表节点比例
    "头节点" : 30
    "中间节点" : 50
    "尾节点" : 20

通过以上步骤,你可以实现一个简单的链表,并进行节点的插入、删除和打印操作。希望这篇文章对你有所帮助,祝你学习顺利!