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

Chương trình Python để tìm phần tử lớn nhất trong danh sách được liên kết kép

Khi cần tìm phần tử lớn nhất trong danh sách được liên kết kép, phương pháp thêm phần tử vào danh sách được liên kết kép, phương pháp in các phần tử của danh sách được liên kết kép và phương pháp tìm phần tử lớn nhất trong danh sách được liên kết kép danh sách đượ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
      self.prev = None

class DoublyLinkedList_structure:
   def __init__(self):
      self.first = None
      self.last = None

   def add_vals(self, data):
      self.insert_at_end(Node(data))

   def insert_at_end(self, newNode):
      if self.last is None:
         self.last = newNode
         self.first = newNode
      else:
         newNode.prev = self.last
         self.last.next = newNode
         self.last = newNode

def find_largest_val(my_list):
   if my_list.first is None:
      return None
   largest_val = my_list.first.data
   curr = my_list.first.next
   while curr:
      if curr.data > largest_val:
         largest_val = curr.data
      curr = curr.next
   return largest_val

my_instance = DoublyLinkedList_structure()

my_list = input('Enter the elements in the doubly linked list ').split()
for elem in my_list:
   my_instance.add_vals(int(elem))

largest_val = find_largest_val(my_instance)
if largest_val:
   print('The largest element is {}.'.format(largest_val))
else:
   print('The list is empty.')

Đầu ra

Enter the elements in the doubly linked list 45 12 67 89 234 567 888 44 999
The largest element is 999.

Giải thích

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

  • Một lớp ‘DoublyLinkedList_osystem’ 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 ‘insert_at_end’ được xác định, giúp thêm giá trị vào cuối danh sách được liên kết kép.

  • Một phương thức khác có tên là ‘find_largest_val’ được định nghĩa, giúp tìm giá trị lớn nhất trong toàn bộ danh sách được liên kết kép.

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

  • Các phần tử được thêm vào danh sách liên kết.

  • Phương thức ‘find_largest_val’ được gọi trong danh sách được liên kết kép này.

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