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