Python 程序用于创建和显示环形链表
在数据结构与算法领域,环形链表是一个非常重要且被广泛使用的数据结构。正如其名,环形链表是一个链表结构,其尾节点指向头节点,形成一个环。环形链表通常用于表示跑道、公交路线等环状实体,也可以用于解决某些具有环状特性的问题。
在Python程序中,可以使用List和Node类来创建环形链表。其中,List类是环形链表的容器,Node类则代表链表的节点。以下是示例代码:
class Node:
def __init__(self, data):
self.data = data
self.next = None
class List:
def __init__(self):
self.head = None
def add_node(self, data):
new_node = Node(data)
if not self.head:
self.head = new_node
new_node.next = self.head
else:
current = self.head
while current.next != self.head:
current = current.next
current.next = new_node
new_node.next = self.head
def display(self):
current = self.head
if not self.head:
print("List is empty")
return
else:
while True:
print(current.data, end=' ')
current = current.next
if current == self.head:
break
在上述程序中,List类包含两个方法:add_node和display。其中,add_node方法用于向环形链表中添加节点,display方法用于显示整个链表。
更多Python相关文章,请阅读:Python 教程
创建环形链表
创建环形链表时,首先需要创建List实例。然后,通过调用add_node方法,向链表中不断添加节点即可。以下是示例代码:
mylist = List()
for i in range(1, 6):
mylist.add_node(i)
通过以上代码,我们可以创建一个包含5个节点的环形链表。同时,也可以使用display方法查看整个链表。以下是示例代码和输出结果:
mylist.display()
输出结果:
1 2 3 4 5
显示环形链表
显示环形链表时,只需要使用List类的display方法即可。以下是示例代码和输出结果:
mylist.display()
输出结果:
1 2 3 4 5
如此便可轻松创建和显示环形链表。在真实应用场景中,可以通过环形链表解决类似于约瑟夫环(Josephus problem)的问题。