เมื่อจำเป็นต้องสร้างรายการเชื่อมโยงแบบวงกลมที่มีโหนด 'N' และรับจำนวนโหนด จำเป็นต้องสร้างคลาส 'โหนด' ในการแสดงองค์ประกอบข้อมูลในรายการแบบวงกลม สามารถกำหนดวิธีการอื่นที่จะแสดงข้อมูลได้ ในคลาสนี้ มีสองแอตทริบิวต์ ข้อมูลที่มีอยู่ในโหนด และการเข้าถึงโหนดถัดไปของรายการที่เชื่อมโยง ในรายการเชื่อมโยงแบบวงกลม ส่วนหัวและส่วนหลังอยู่ติดกัน
พวกมันเชื่อมต่อกันเป็นวงกลม และไม่มีค่า 'NULL' ในโหนดสุดท้าย
ต้องสร้างคลาส 'linked_list' อีกคลาสหนึ่งซึ่งมีฟังก์ชันการเริ่มต้น และส่วนหัวของโหนดจะเริ่มต้นเป็น 'None'
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
ตัวอย่าง
class Node: def __init__(self, my_data): self.data = my_data self.next = None def add_data(head_ref,my_data): ptr_1 = Node(0) temp = head_ref ptr_1.data = my_data ptr_1.next = head_ref if (head_ref != None) : while (temp.next != head_ref): temp = temp.next temp.next = ptr_1 else: ptr_1.next = ptr_1 head_ref = ptr_1 return head_ref def count_node(head): temp = head result = 0 if (head != None) : while True : temp = temp.next result = result + 1 if (temp == head): break return result if __name__=='__main__': head = None head = add_data(head, 78) head = add_data(head, 56) head = add_data(head, 22) print("Elements are added to list") print("The number of nodes are : ") print(count_node(head))
ผลลัพธ์
Elements are added to list The number of nodes are : 3
คำอธิบาย
- คลาส 'โหนด' ถูกสร้างขึ้น
- สร้างคลาส 'linked_list' อีกคลาสที่มีแอตทริบิวต์ที่จำเป็นแล้ว
- มีการกำหนดวิธีการอื่นที่ชื่อว่า 'add_data' ซึ่งใช้ในการเพิ่มข้อมูลไปยังรายการที่เชื่อมโยงแบบวงกลม
- มีการกำหนดวิธีการอื่นที่ชื่อว่า 'print_it' ซึ่งใช้ในการแสดงรายการข้อมูลที่เชื่อมโยงบนคอนโซล
- วัตถุของคลาส 'linked_list' ถูกสร้างขึ้น และมีการเรียกใช้เมธอดเพื่อเพิ่มข้อมูล
- แสดงบนคอนโซลโดยใช้เมธอด 'print_it'