python链表

导读 在Python中,链表可以通过使用内置的数据类型如列表(List)来实现,或者使用自定义的数据结构来实现。这里我将展示一个简单的自定义链表实...

在Python中,链表可以通过使用内置的数据类型如列表(List)来实现,或者使用自定义的数据结构来实现。这里我将展示一个简单的自定义链表实现。请注意,这个简单的实现可能无法涵盖链表的全部特性和优化。

链表主要由节点(Node)组成,每个节点包含数据和指向下一个节点的引用。我们可以创建一个简单的链表类如下:

```python

class Node:

def __init__(self, data=None):

self.data = data

self.next = None

class LinkedList:

def __init__(self):

self.head = None # 头节点

self.tail = None # 尾节点

self.size = 0 # 链表大小

def append(self, data):

# 在尾部添加节点

new_node = Node(data)

if not self.head: # 如果链表为空,头尾节点均为新节点

self.head = new_node

self.tail = new_node

else: # 将新节点添加到尾部并更新尾节点引用和链表大小

self.tail.next = new_node

self.tail = new_node

self.size += 1 # 更新链表大小

def display(self): # 打印链表中的所有元素

current_node = self.head

while current_node: # 遍历链表中的所有节点并打印数据

print(current_node.data) # 打印当前节点的数据

current_node = current_node.next # 移动到下一个节点(如果存在)

```

这个简单的链表实现支持在尾部添加节点(`append`)和打印链表中的所有元素(`display`)。这是一个非常基础的实现,不包含诸如在头部添加节点、删除节点等功能。如果需要实现这些功能或者其他更复杂的功能,可以扩展这个类。例如,你可能想要添加更多的方法,如 `prepend()`, `remove()`, `find()`, 等等。

版权声明:本文由用户上传,如有侵权请联系删除!