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

以上是 Python程序创建n个节点的循环链接列表并以相反顺序显示它 的全部内容, 来源链接: utcz.com/z/311491.html

回到顶部