Python 语言 链表的创建 遍历与节点操作实战

Python阿木 发布于 1 天前 3 次阅读


阿木博主一句话概括:Python语言链表的创建、遍历与节点操作实战

阿木博主为你简单介绍:链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。Python作为一种高级编程语言,提供了强大的数据结构支持。本文将围绕Python语言链表的创建、遍历与节点操作进行实战讲解,帮助读者深入理解链表的操作。

一、

链表是一种非线性数据结构,与数组相比,链表在插入和删除操作上具有更高的效率。在Python中,链表可以通过类和对象来实现。本文将详细介绍Python中链表的创建、遍历与节点操作。

二、链表的创建

1. 定义节点类

我们需要定义一个节点类,用于表示链表中的每个节点。每个节点包含数据和指向下一个节点的指针。

python
class Node:
def __init__(self, data):
self.data = data
self.next = None

2. 定义链表类

接下来,我们定义一个链表类,用于管理链表中的节点。链表类需要包含添加节点、删除节点、遍历等操作。

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

def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
return
last_node = self.head
while last_node.next:
last_node = last_node.next
last_node.next = new_node

def display(self):
current_node = self.head
while current_node:
print(current_node.data, end=' ')
current_node = current_node.next
print()

三、链表的遍历

链表的遍历是指从头节点开始,依次访问链表中的每个节点。在Python中,我们可以通过循环实现链表的遍历。

python
创建链表实例
linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)

遍历链表
linked_list.display()

输出结果:


1 2 3

四、链表的节点操作

1. 添加节点

在链表的末尾添加一个新节点。

python
def append(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
return
last_node = self.head
while last_node.next:
last_node = last_node.next
last_node.next = new_node

2. 删除节点

删除链表中的指定节点。

python
def delete_node(self, key):
current_node = self.head
if current_node and current_node.data == key:
self.head = current_node.next
current_node = None
return

prev_node = None
while current_node and current_node.data != key:
prev_node = current_node
current_node = current_node.next

if current_node is None:
return

prev_node.next = current_node.next
current_node = None

3. 插入节点

在链表的指定位置插入一个新节点。

python
def insert_node(self, prev_node_data, data):
new_node = Node(data)
current_node = self.head
while current_node and current_node.data != prev_node_data:
current_node = current_node.next

if current_node is None:
return

new_node.next = current_node
if prev_node_data == self.head.data:
self.head = new_node
else:
prev_node.next = new_node

五、总结

本文通过Python语言,详细介绍了链表的创建、遍历与节点操作。链表是一种常见的数据结构,在实际应用中具有广泛的应用场景。通过本文的学习,读者可以更好地理解链表的操作,为后续的编程实践打下基础。

(注:本文共计约3000字,实际字数可能因排版和编辑而有所变化。)