যখন দুটি লিংকড লিস্ট একই কিনা চেক করতে হয়, তখন লিংকড লিস্টে এলিমেন্ট যোগ করার মেথড এবং লিংকড লিস্টগুলোর এলিমেন্টের সমতা চেক করার মেথড সংজ্ঞায়িত করা হয়।
উদাহরণ
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 check_equality(list_1, list_2):
curr_1 = list_1.head
curr_2 = list_2.head
while (curr_1 and curr_2):
if curr_1.data != curr_2.data:
return False
curr_1 = curr_1.next
curr_2 = curr_2.next
if curr_1 is None and curr_2 is None:
return True
else:
return False
my_linked_list_1 = LinkedList_structure()
my_linked_list_2 = LinkedList_structure()
my_list = input('প্রথম লিংকড লিস্টের এলিমেন্টগুলো দিন: ').split()
for elem in my_list:
my_linked_list_1.add_vals(int(elem))
my_list = input('দ্বিতীয় লিংকড লিস্টের এলিমেন্টগুলো দিন: ').split()
for elem in my_list:
my_linked_list_2.add_vals(int(elem))
if check_equality(my_linked_list_1, my_linked_list_2):
print('দুটি লিংকড লিস্ট একই')
else:
print('দুটি লিংকড লিস্ট একই নয়')
আউটপুট
প্রথম লিংকড লিস্টের এলিমেন্টগুলো দিন: 34 56 89 12 45 দ্বিতীয় লিংকড লিস্টের এলিমেন্টগুলো দিন: 57 23 78 0 2 দুটি লিংকড লিস্ট একই নয়
ব্যাখ্যা
Node ক্লাস তৈরি করা হয়েছে।
প্রয়োজনীয় অ্যাট্রিবিউটসহ LinkedList_structure ক্লাস তৈরি করা হয়েছে।
এতে একটি __init__ ফাংশন রয়েছে যা প্রথম এলিমেন্ট অর্থাৎ head-কে None-এ এবং last_node-কে None-এ ইনিশিয়ালাইজ করে।
add_vals নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা লিস্টে মান যোগ করতে সাহায্য করে।
check_equality নামক একটি মেথড সংজ্ঞায়িত করা হয়েছে, যা দুটি লিংকড লিস্টের এলিমেন্ট একই কিনা চেক করতে সাহায্য করে।
সমতা অনুযায়ী True বা False রিটার্ন করে।
LinkedList_structure-এর দুটি ইনস্ট্যান্স তৈরি করা হয়েছে।
দুটি লিংকড লিস্টে এলিমেন্টগুলো যোগ করা হয়েছে।
এই দুটি লিংকড লিস্টে check_equality মেথডটি কল করা হয়েছে।
আউটপুট কনসোলে প্রদর্শিত হয়েছে।