Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python เพื่อค้นหาองค์ประกอบที่ใหญ่ที่สุดในรายการที่เชื่อมโยงเป็นสองเท่า


เมื่อต้องการค้นหาองค์ประกอบที่ใหญ่ที่สุดในรายการที่เชื่อมโยงแบบทวีคูณ วิธีการเพิ่มองค์ประกอบลงในรายการที่เชื่อมโยงแบบทวีคูณ วิธีพิมพ์องค์ประกอบของรายการที่เชื่อมโยงแบบทวีคูณ และวิธีการค้นหาองค์ประกอบที่ใหญ่ที่สุดในรายการที่เชื่อมโยงแบบทวีคูณ มีการกำหนดรายการ

ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -

ตัวอย่าง

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.')

ผลลัพธ์

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

คำอธิบาย

  • สร้างคลาส "โหนด" แล้ว

  • 'DublyLinkedList_structure' อีกคลาสที่มีแอตทริบิวต์ที่จำเป็นจะถูกสร้างขึ้น

  • มีฟังก์ชัน 'init' ที่ใช้ในการเริ่มต้นองค์ประกอบแรก นั่นคือ 'head' เป็น 'None'

  • มีการกำหนดเมธอดชื่อ 'add_vals' ซึ่งช่วยเพิ่มมูลค่าให้กับสแต็ก

  • มีการกำหนดวิธีการอื่นที่ชื่อว่า 'insert_at_end' ซึ่งช่วยเพิ่มมูลค่าให้กับส่วนท้ายของรายการที่เชื่อมโยงเป็นสองเท่า

  • มีการกำหนดวิธีการอื่นที่ชื่อว่า 'find_largest_val' ซึ่งช่วยในการค้นหาค่าที่ใหญ่ที่สุดในรายการที่เชื่อมโยงเป็นสองเท่าทั้งหมด

  • อินสแตนซ์ของ 'DublyLinkedList_structure' ถูกสร้างขึ้น

  • เพิ่มองค์ประกอบในรายการที่เชื่อมโยง

  • เมธอด 'find_largest_val' ถูกเรียกในรายการที่มีการเชื่อมโยงแบบทวีคูณนี้

  • เอาต์พุตจะแสดงบนคอนโซล