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'方法在控制檯上顯示。
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP