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