Python程序:创建n个节点的循环链表并逆序显示


需要创建一个循环链表并逆序显示时,需要创建一个名为'Node'的类。

为了逆序显示循环链表中的数据元素,可以定义另一个方法来反转数据。在这个类中,有两个属性:节点中存在的数据,以及对链表中下一个节点的访问。在循环链表中,头节点和尾节点彼此相邻。它们连接成一个圆圈,最后一个节点没有'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

解释

  • 创建了'Node'类。
  • 创建了另一个具有所需属性的'linked_list'类。
  • 定义了另一个名为'add_data'的方法,用于向循环链表添加数据。
  • 定义了另一个名为'reverse'的方法,用于反转存储在循环链表中的数据。
  • 定义了另一个名为'print_it'的方法,用于在控制台上显示链表数据。
  • 创建了'linked_list'类的对象,并将数据添加到其中。
  • 使用'reverse'方法将其反转。
  • 使用'print_it'方法在控制台上显示。

更新于:2021年3月13日

124 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告