Python循环链表程序

当需要创建一个生成链表的Python程序时,需要创建一个“ Node”类。为了显示循环列表中的数据元素,可以定义另一种方法来显示数据。在此类中,有两个属性,即节点中存在的数据和对链表的下一个节点的访问。在圆形链表中,头部和后部彼此相邻。它们连接形成一个圆,并且在最后一个节点中没有'NULL'值。

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

以下是相同的演示-

示例

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

class circularLinkedList:  
   def __init__(self):
     self.head= None
   def add_data(self, my_data):
      ptr_1 = Node(my_data)
      temp =self.head   
      ptr_1.next = self.head

      ifself.headis not None:
         while(temp.next != self.head):
            temp = temp.next
         temp.next = ptr_1
      else:
         ptr_1.next = ptr_1
     self.head= ptr_1

   def print_it(self):
      temp = self.head
      ifself.headis not None:
         while(True):
            print("%d" %(temp.data)),
            temp = temp.next
            if (temp == self.head):
               break
my_list = circularLinkedList()
print("Elements are added to the list ")
my_list.add_data (56)
my_list.add_data (78)
my_list.add_data (12)
print("The data is : ")
my_list.print_it()
输出结果
Elements are added to the list
The data is :
12
78
56

解释

  • 将创建“节点”类。

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

  • 它具有一个“ init”函数,该函数用于将第一个元素i.e“ head”初始化为“ None”。

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

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

  • 创建了“ linked_list”类的对象,并在其上调用方法以添加数据。

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