เมื่อจำเป็นต้องสร้างรายการเชื่อมโยงแบบวงกลมที่มีโหนด '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'