เมื่อจำเป็นต้องสร้างรายการเชื่อมโยงแบบวงกลมและแสดงในลำดับย้อนกลับ จะต้องสร้างคลาส 'โหนด'
ในการแสดงองค์ประกอบข้อมูลในรายการแบบวงกลมในลำดับที่กลับกัน สามารถกำหนดวิธีการอื่นที่จะย้อนกลับข้อมูลได้ ในคลาสนี้ มีสองแอตทริบิวต์ ข้อมูลที่มีอยู่ในโหนด และการเข้าถึงโหนดถัดไปของรายการที่เชื่อมโยง ในรายการเชื่อมโยงแบบวงกลม ส่วนหัวและส่วนหลังอยู่ติดกัน พวกมันเชื่อมต่อกันเป็นวงกลม และไม่มีค่า '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' ซึ่งใช้ในการเพิ่มข้อมูลไปยังรายการที่เชื่อมโยงแบบวงกลม
- มีการกำหนดวิธีการอื่นที่เรียกว่า 'ย้อนกลับ' ซึ่งจะย้อนกลับข้อมูลที่จัดเก็บไว้ในรายการที่เชื่อมโยงแบบวงกลม
- มีการกำหนดวิธีการอื่นที่ชื่อว่า 'print_it' ซึ่งใช้ในการแสดงรายการข้อมูลที่เชื่อมโยงบนคอนโซล
- วัตถุของคลาส 'linked_list' ถูกสร้างขึ้น และเพิ่มข้อมูลเข้าไป
- ย้อนกลับโดยใช้วิธี 'ย้อนกลับ'
- แสดงบนคอนโซลโดยใช้เมธอด 'print_it'