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