যখন একটি ডাবলি লিংকড লিস্টে সবচেয়ে বড় এলিমেন্ট খুঁজে বের করতে হয়, তখন ডাবলি লিংকড লিস্টে এলিমেন্ট যোগ করার মেথড, ডাবলি লিংকড লিস্টের এলিমেন্ট প্রিন্ট করার মেথড এবং ডাবলি লিংকড লিস্টে সবচেয়ে বড় এলিমেন্ট খুঁজে বের করার মেথড সংজ্ঞায়িত করা হয়।
উদাহরণ
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 মেথডটি কল করা হয়েছে।
আউটপুট কনসোলে প্রদর্শিত হয়েছে।