在 Python 中,没有像 C 语言那样的结构体

2025-04-28ASPCMS社区 - fjmyhfvclm

在 Python 中,没有像 C 语言那样的结构体(struct),但可以通过类(class)来实现类似的功能。链表节点可以用一个简单的类来表示,其中包含数据字段和指向下一个节点的指针。

Python 链表节点实现

以下是一个用 Python 类实现链表节点的示例:

python

class Node:

def __init__(self, data):

self.data = data # 数据字段

self.next = None # 指向下一个节点的指针,初始化为None

创建链表

通过创建多个 Node 实例并链接它们的 next 指针,可以构建一个链表。例如,构建一个包含三个节点的链表:1 -> 2 -> 3 -> None。

python

# 创建链表: 1 -> 2 -> > None

head = Node(1) # 第一个节点

head.next = Node(2) # 第二个节点

head.next.next = Node(3) # 第三个节点

打印链表

定义一个函数 print_list,遍历链表并打印每个节点的数据。

python

def print_list(head):

current = head # 从链表头开始

while current is not None:

print(current.data, end=" -> ") # 打印当前节点的数据

current = current.next # 移动到下一个节点

print("None") # 链表末尾

aspcms.cn

完整代码示例

以下是完整的代码,包括节点创建、链表构建和打印:

python

class Node:

def __init__(self, data):

self.data = data

self.next = None

def print_list(head):

current = head

while current is not None:

print(current.data, end=" -> ")

current = current.next

print("None")

# 创建链表: 1 -> 2 -> 3 -> None

head = Node(1)

head.next = Node(2)

head.next.next = Node(3)

# 打印链表

print_list(head)

输出

运行上述代码后,输出如下:

1 -> 2 -> 3 -> None

总结

Python 中通过类实现链表节点,类似于 C 的结构体。

链表的构建和遍历逻辑与 C 类似,但语法更简洁。

Python 的动态类型和垃圾回收机制简化了内存管理(无需手动释放内存)。

全部评论