Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để hiển thị tất cả các nút trong một danh sách được liên kết bằng cách sử dụng Đệ quy

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".