Python程序创建n个节点的循环链接列表并以相反顺序显示它

当需要创建一个循环链表并以相反的顺序显示它时,需要创建一个“节点”类。

为了以相反的顺序显示循环列表中的数据元素,可以定义另一种方法,该方法将反转数据。在此类中,有两个属性,即节点中存在的数据和对链表的下一个节点的访问。在圆形链表中,头部和后部彼此相邻。它们连接形成一个圆,并且在最后一个节点中没有'NULL'值。

需要创建另一个具有初始化功能的“ linked_list”类,并且将节点的头初始化为“ None”。 

以下是相同的演示-

示例

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

class linked_list:
   def __init__(self):
     self.head= None
     
   def add_data(self,my_data):
      new_node = Node(my_data)
      new_node.next = self.head
     self.head= new_node
   
   def reverse(self):
      prev = None
      current = self.head
      while(current is not None):
         next = current.next
         current.next = prev
         prev = current
         current = next
     self.head= prev
   
   def print_it(self):
      temp = self.head
      while(temp):
         print(temp.data)
         temp = temp.next

my_list = linked_list()
my_list.add_data(47)
my_list.add_data(89)
my_list.add_data(34)
my_list.add_data(11)

print("The list is : ")
my_list.print_it()
print("The list is being reversed")
my_list.reverse()
print("The reversed list is : ")
my_list.print_it()
输出结果
The list is :
11
34
89
47
The list is being reversed
The reversed list is :
47
89
34
11

解释

  • 将创建“节点”类。

  • 创建另一个具有必需属性的“ linked_list”类。

  • 定义了另一个名为“ add_data”的方法,该方法用于将数据添加到循环链表中。

  • 定义了另一个名为“ reverse”的方法,该方法可以反转存储在循环链表中的数据。

  • 定义了另一个名为“ print_it”的方法,该方法用于在控制台上显示链接列表数据。

  • 创建了“ linked_list”类的对象,并将数据添加到该对象。

  • 使用“反向”方法将其反向。

  • 这使用“ print_it”方法显示在控制台上。