Khi cần hiển thị các phần tử / nút trong danh sách được liên kết, sử dụng phương pháp đệ quy, phương pháp thêm giá trị vào danh sách được liên kết và phương pháp in các phần tử của Danh sách được liên kết. Nó cũng sẽ có một phương thức trợ giúp sử dụng đệ quy, tức là gọi hàm trợ giúp lặp đi lặp lại để in các giá trị.
Dưới đây là một minh chứng cho điều tương tự -
Ví dụ
class Node: def __init__(self, data): self.data = data self.next = None class my_linked_list: def __init__(self): self.head = None self.last_node = None def add_value(self, my_data): if self.last_node is None: self.head = Node(my_data) self.last_node = self.head else: self.last_node.next = Node(my_data) self.last_node = self.last_node.next def print_it(self): self.helper_print(self.head) def helper_print(self, curr): if curr is None: return print(curr.data) self.helper_print(curr.next) my_instance = my_linked_list() n = int(input('How many elements you wish to add ? ')) for i in range(n): data = int(input('Enter a data item : ')) my_instance.add_value(data) print('The linked list: ') my_instance.print_it()
Đầu ra
How many elements you wish to add ? 4 Enter a data item : 34 Enter a data item : 67 Enter a data item : 12 Enter a data item : 89 The linked list: 34 67 12 89
Giải thích
-
Lớp 'Node' được tạo.
-
Một lớp ‘my_linked_list’ khác với các thuộc tính bắt buộc được tạo.
-
Nó có chức năng ‘init’ được sử dụng để khởi tạo phần tử đầu tiên, tức là ‘head’ thành ‘None’ và nút cuối cùng thành ‘None’.
-
Một phương thức khác có tên là ‘add_value’ được xác định, được sử dụng để thêm dữ liệu vào danh sách được liên kết.
-
Một phương thức khác có tên là ‘print_it’ được định nghĩa để gọi phương thức trợ giúp để hiển thị dữ liệu danh sách được liên kết trên bảng điều khiển.
-
Một phương thức khác có tên là ‘helper_print’ được xác định dùng để hiển thị dữ liệu danh sách được liên kết trên bảng điều khiển.
-
Hàm trợ giúp này được định nghĩa, vì cần sử dụng đệ quy ở đây.
-
Một đối tượng của lớp ‘my_linked_list’ được tạo.
-
Đầu vào của người dùng được lấy cho số phần tử trong danh sách được liên kết.
-
Phạm vi này được lặp lại 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".