当需要创建一个循环链表并以相反的顺序显示它时,需要创建一个“节点”类。
为了以相反的顺序显示循环列表中的数据元素,可以定义另一种方法,该方法将反转数据。在此类中,有两个属性,即节点中存在的数据和对链表的下一个节点的访问。在圆形链表中,头部和后部彼此相邻。它们连接形成一个圆,并且在最后一个节点中没有'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”方法显示在控制台上。