যখন দুটি লিংকড লিস্টের মধ্যে প্রথমবারघটিত কমন এলিমেন্ট খুঁজে বের করতে হয়, তখন লিংকড লিস্টে এলিমেন্ট যোগ করার মেথড এবং এই লিংকড লিস্টগুলোতে প্রথমবার ঘটিত কমন এলিমেন্ট পাওয়ার মেথড সংজ্ঞায়িত করা হয়।
উদাহরণ
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList_structure:
def __init__(self):
self.head = None
self.last_node = None
def add_vals(self, data):
if self.last_node is None:
self.head = Node(data)
self.last_node = self.head
else:
self.last_node.next = Node(data)
self.last_node = self.last_node.next
def first_common_val(list_1, list_2):
curr_1 = list_1.head
while curr_1:
data = curr_1.data
curr_2 = list_2.head
while curr_2:
if data == curr_2.data:
return data
curr_2 = curr_2.next
curr_1 = curr_1.next
return None
my_list_1 = LinkedList_structure()
my_list_2 = LinkedList_structure()
my_list = input('প্রথম লিংকড লিস্টের এলিমেন্টগুলো দিন: ').split()
for elem in my_list:
my_list_1.add_vals(int(elem))
my_list = input('দ্বিতীয় লিংকড লিস্টের এলিমেন্টগুলো দিন: ').split()
for elem in my_list:
my_list_2.add_vals(int(elem))
common_vals = first_common_val(my_list_1, my_list_2)
if common_vals:
print('প্রথম লিংকড লিস্টে প্রথমে উপস্থিত এবং উভয়ই কমন এলিমেন্টটি হল {}.'.format(common_vals))
else:
print('দুটি লিস্টের মধ্যে কোন কমন এলিমেন্ট নেই')
আউটপুট
প্রথম লিংকড লিস্টের এলিমেন্টগুলো দিন: 45 67 89 123 45 দ্বিতীয় লিংকড লিস্টের এলিমেন্টগুলো দিন: 34 56 78 99 0 11 দুটি লিস্টের মধ্যে কোন কমন এলিমেন্ট নেই
ব্যাখ্যা
Node ক্লাস তৈরি করা হয়েছে।
প্রয়োজনীয় অ্যাট্রিবিউটসহ LinkedList_structure ক্লাস তৈরি করা হয়েছে।
এতে একটি __init__ ফাংশন রয়েছে যা প্রথম এলিমেন্ট অর্থাৎ head-কে None-এ ইনিশিয়ালাইজ করে।
add_vals নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা লিস্টে মান যোগ করতে সাহায্য করে।
first_common_val নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা দুটি লিংকড লিস্টে পাওয়া প্রথম কমন মান খুঁজে বের করতে সাহায্য করে।
LinkedList_structure-এর দুটি ইনস্ট্যান্স তৈরি করা হয়েছে।
উভয় লিংকড লিস্টে এলিমেন্টগুলো যোগ করা হয়েছে।
এই লিংকড লিস্টগুলোতে first_common_val মেথডটি কল করা হয়েছে।
আউটপুট কনসোলে প্রদর্শিত হয়েছে।