Khi được yêu cầu tạo một chương trình Python để tạo danh sách liên kết, một lớp 'Node' 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ụ
class Node: def __init__(self, my_data): self.data = my_data self.next = None class circularLinkedList: def __init__(self): self.head = None def add_data(self, my_data): ptr_1 = Node(my_data) temp = self.head ptr_1.next = self.head if self.head is not None: while(temp.next != self.head): temp = temp.next temp.next = ptr_1 else: ptr_1.next = ptr_1 self.head = ptr_1 def print_it(self): temp = self.head if self.head is not None: while(True): print("%d" %(temp.data)), temp = temp.next if (temp == self.head): break my_list = circularLinkedList() print("Elements are added to the list ") my_list.add_data (56) my_list.add_data (78) my_list.add_data (12) print("The data is : ") my_list.print_it()
Đầu ra
Elements are added to the list The data is : 12 78 56
Giải thích
- Lớp 'Node' đã được tạo.
- Một lớp 'circleLinkedList' khác với các thuộc tính bắt buộc được tạo.
- Nó có một hàm 'init' được sử dụng để khởi tạo phần tử đầu tiên, tức là 'head' thành 'None'.
- 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'.