Khi được yêu cầu tạo một danh sách liên kết tròn có 'N' nút và đếm số lượng nút, một lớp 'Nút' cần được tạo. Để hiển thị các phần tử dữ liệu trong danh sách vòng tròn, một phương pháp khác có thể được xác định để hiển thị dữ liệu. Trong lớp này, có hai thuộc tính, dữ liệu có trong nút và quyền truy cập vào nút tiếp theo của danh sách liên kết. Trong danh sách liên kết hình tròn, phần đầu và phần sau nằm liền kề nhau.
Chúng được kết nối để tạo thành một vòng kết nối và không có giá trị 'NULL' trong nút cuối cùng.
Một lớp 'linked_list' khác cần được tạo sẽ có chức năng khởi tạo và phần đầu của nút sẽ được khởi tạo thành 'Không có'.
Dưới đây là một minh chứng cho điều tương tự -
Ví dụ
Nútclass 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))
Đầu ra
Elements are added to list The number of nodes are : 3
Giải thích
- Lớp 'Node' đã được tạo.
- Một lớp 'danh sách liên kết' khác với các thuộc tính bắt buộc được tạo.
- Một phương pháp khác có tên 'add_data' được xác định, được sử dụng để thêm dữ liệu vào danh sách liên kết vòng tròn.
- Một phương thức khác có tên 'print_it' được xác định dùng để hiển thị dữ liệu danh sách liên kết trên bảng điều khiển.
- Một đối tượng của lớp 'linked_list' được tạo và các phương thức được gọi trên đó để thêm dữ liệu.
- Điều này được hiển thị trên bảng điều khiển bằng phương thức 'print_it'.