जब डबल लिंक्ड लिस्ट में सबसे बड़ा एलिमेंट खोजना होता है, तो डबल लिंक्ड लिस्ट में एलिमेंट्स जोड़ने, डबल लिंक्ड लिस्ट के एलिमेंट्स प्रिंट करने और डबल लिंक्ड लिस्ट में सबसे बड़ा एलिमेंट खोजने के लिए मेथड्स डिफाइन की जाती हैं।
उदाहरण
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('डबल लिंक्ड लिस्ट में एलिमेंट्स दर्ज करें: ').split()
for elem in my_list:
my_instance.add_vals(int(elem))
largest_val = find_largest_val(my_instance)
if largest_val:
print('सबसे बड़ा एलिमेंट {} है।'.format(largest_val))
else:
print('लिस्ट खाली है।')
आउटपुट
डबल लिंक्ड लिस्ट में एलिमेंट्स दर्ज करें: 45 12 67 89 234 567 888 44 999 सबसे बड़ा एलिमेंट 999 है।
व्याख्या
'Node' क्लास बनाई गई है।
आवश्यक एट्रिब्यूट्स के साथ 'DoublyLinkedList_structure' क्लास बनाई गई है।
इसमें एक 'init' फंक्शन है जो पहले एलिमेंट यानी 'head' को 'None' से इनिशियलाइज़ करता है।
'add_vals' नामक एक मेथड डिफाइन की गई है, जो लिंक्ड लिस्ट में वैल्यू जोड़ने में मदद करती है।
'insert_at_end' नामक एक अन्य मेथड डिफाइन की गई है, जो डबल लिंक्ड लिस्ट के अंत में वैल्यू जोड़ने में मदद करती है।
'find_largest_val' नामक एक अन्य मेथड डिफाइन की गई है, जो पूरे डबल लिंक्ड लिस्ट में सबसे बड़ी वैल्यू खोजने में मदद करती है।
'DoublyLinkedList_structure' का एक इंस्टेंस बनाया गया है।
लिंक्ड लिस्ट में एलिमेंट्स जोड़े गए हैं।
इस डबल लिंक्ड लिस्ट पर 'find_largest_val' मेथड कॉल की गई है।
आउटपुट कंसोल पर डिस्प्ले किया गया है।