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

Chương trình Python để tìm số lần xuất hiện của tất cả các phần tử trong danh sách được liên kết

Khi cần tìm số lần xuất hiện của tất cả các phần tử của danh sách được liên kết, phương pháp thêm phần tử vào danh sách được liên kết, phương thức in phần tử và phương pháp tìm sự xuất hiện của tất cả phần tử trong danh sách liên kết là được xác định.

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 LinkedList_structure:
   def __init__(self):
      self.head = None
      self.last_node = None

   def add_vals(self, data):
      if self.last_node is None:
         self.head = Node(data)
         self.last_node = self.head
      else:
         self.last_node.next = Node(data)
         self.last_node = self.last_node.next

   def print_it(self):
      curr = self.head
      while curr:
         print(curr.data)
         curr = curr.next

   def count_elem(self, key):
      curr = self.head
      count_val = 0
      while curr:
         if curr.data == key:
            count_val = count_val + 1
         curr = curr.next
      return count_val

my_instance = LinkedList_structure()
my_list = [56, 78, 98, 12, 34, 55, 0]
for elem in my_list:
   my_instance.add_vals(elem)
print('The linked list is : ')
my_instance.print_it()

key_val = int(input('Enter the data item '))
count_val = my_instance.count_elem(key_val)
print('{0} occurs {1} time(s) in the list.'.format(key_val, count_val))

Đầu ra

The linked list is :
56
78
98
12
34
55
0
Enter the data item 0
0 occurs 1 time(s) in the list.

Giải thích

  • Lớp 'Node' được tạo.

  • Một lớp ‘LinkedList_ architects’ 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’.

  • Một phương thức có tên là ‘add_vals’ được xác định, giúp thêm một giá trị vào ngăn xếp.

  • Một phương thức khác có tên là ‘print_it’ được xác định, giúp hiển thị các giá trị của 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à ‘count_elem’ được xác định, giúp tìm sự xuất hiện của mọi ký tự trong danh sách được liên kết.

  • Một phiên bản của ‘LinkedList_ architects’ được tạo.

  • Danh sách các phần tử được xác định.

  • Danh sách được lặp lại và các phần tử này được thêm vào danh sách được liên kết.

  • Các phần tử được hiển thị trên bảng điều khiển.

  • Phương thức 'count_elem' được gọi trong danh sách được liên kết này.

  • Đầu ra được hiển thị trên bảng điều khiển.