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

Chương trình Python để tạo Danh sách liên kết hình tròn gồm N nút và đếm số lượng nút

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út
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))

Đầ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'.