Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python สร้าง Circular Linked List นับจำนวนโหนด


เมื่อต้องการสร้าง 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'