เมื่อต้องการค้นหาองค์ประกอบที่ใหญ่ที่สุดในรายการที่เชื่อมโยงแบบทวีคูณ วิธีการเพิ่มองค์ประกอบลงในรายการที่เชื่อมโยงแบบทวีคูณ วิธีพิมพ์องค์ประกอบของรายการที่เชื่อมโยงแบบทวีคูณ และวิธีการค้นหาองค์ประกอบที่ใหญ่ที่สุดในรายการที่เชื่อมโยงแบบทวีคูณ มีการกำหนดรายการ
ด้านล่างนี้เป็นการสาธิตสำหรับสิ่งเดียวกัน -
ตัวอย่าง
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' ถูกเรียกในรายการที่มีการเชื่อมโยงแบบทวีคูณนี้
-
เอาต์พุตจะแสดงบนคอนโซล