Python写链表
2024-01-09 10:42:49
链表是一种常见的数据结构,可以用于存储和操作一系列的数据。以下是一个用Python实现链表的例子:
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
def append(self, data):
new_node = Node(data)
if not self.head:
self.head = new_node
else:
current = self.head
while current.next:
current = current.next
current.next = new_node
def prepend(self, data):
new_node = Node(data)
new_node.next = self.head
self.head = new_node
def delete(self, data):
if not self.head:
return
if self.head.data == data:
self.head = self.head.next
return
current = self.head
while current.next:
if current.next.data == data:
current.next = current.next.next
return
current = current.next
def print_list(self):
current = self.head
while current:
print(current.data)
current = current.next
这是一个简单的单向链表实现。其中,Node
代表链表中的节点,每个节点包含一个数据项和一个指向下一个节点的指针。LinkedList
代表链表本身,其中包含对链表进行操作的一些方法,如追加、插入、删除和打印链表等。
通过调用append
方法可以在链表末尾添加一个新的节点,调用prepend
方法可以在链表头部插入一个新的节点,调用delete
方法可以删除链表中的指定节点。print_list
方法用于打印链表的所有节点。
以下是使用这个链表的示例:
# 创建一个链表
linked_list = LinkedList()
# 在链表末尾添加节点
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
# 在链表头部插入节点
linked_list.prepend(0)
# 删除链表中的节点
linked_list.delete(2)
# 打印链表中的节点
linked_list.print_list()
运行这段代码将输出以下结果:
0
1
3
这是一个基本的链表实现,并且可以根据需要扩展和修改以满足具体的需求。
文章来源:https://blog.csdn.net/xukris/article/details/135472444
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!