Python程序创建一个由n个节点组成的循环链表,并倒序显示它

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’方法在控制台上显示。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程