जब दो लिंक्ड लिस्ट में विशिष्ट पोज़िशन के संबंधित एलिमेंट्स को जोड़ना होता है, तो लिंक्ड लिस्ट में एलिमेंट्स जोड़ने, लिंक्ड लिस्ट के एलिमेंट्स प्रिंट करने और लिंक्ड लिस्ट के संबंधित पोज़िशन पर एलिमेंट्स जोड़ने के लिए मेथड्स डिफाइन की जाती हैं। दो लिस्ट इंस्टेंस बनाए जाते हैं और पहले से डिफाइन की गई मेथड इन लिंक्ड लिस्ट इंस्टेंस पर कॉल की जाती है।
उदाहरण
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 print_it(self):
curr = self.head
while curr is not None:
print(curr.data)
curr = curr.next
def add_linked_list(my_list_1, my_list_2):
sum_list = LinkedList_structure()
curr_1 = my_list_1.head
curr_2 = my_list_2.head
while (curr_1 and curr_2):
sum_val = curr_1.data + curr_2.data
sum_list.add_vals(sum_val)
curr_1 = curr_1.next
curr_2 = curr_2.next
if curr_1 is None:
while curr_2:
sum_list.add_vals(curr_2.data)
curr_2 = curr_2.next
else:
while curr_1:
sum_list.add_vals(curr_1.data)
curr_1 = curr_1.next
return sum_list
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))
sum_list = add_linked_list(my_list_1, my_list_2)
print('लिंक्ड लिस्ट में एलिमेंट्स का योग है: ')
sum_list.print_it()
आउटपुट
पहली लिंक्ड लिस्ट के एलिमेंट्स दर्ज करें: 56 34 78 99 54 11 दूसरी लिंक्ड लिस्ट के एलिमेंट्स दर्ज करें: 23 56 99 0 122 344 लिंक्ड लिस्ट में एलिमेंट्स का योग है: 79 90 177 99 176 355
व्याख्या
'Node' क्लास बनाई गई है।
आवश्यक एट्रिब्यूट्स के साथ 'LinkedList_structure' क्लास बनाई गई है।
इसमें एक 'init' फंक्शन है जो पहले एलिमेंट यानी 'head' को 'None' से इनिशियलाइज़ करता है।
'add_vals' नामक एक मेथड डिफाइन की गई है, जो लिंक्ड लिस्ट में वैल्यू जोड़ने में मदद करती है।
'print_it' नामक एक अन्य मेथड डिफाइन की गई है, जो लिंक्ड लिस्ट के वैल्यूज़ को डिस्प्ले करने में मदद करती है।
'add_linked_list' नामक एक अन्य मेथड डिफाइन की गई है, जो दो लिंक्ड लिस्ट के संबंधित एलिमेंट्स को जोड़ने में मदद करती है।
'LinkedList_structure' के दो इंस्टेंस बनाए गए हैं।
दोनों लिंक्ड लिस्ट में एलिमेंट्स जोड़े गए हैं।
इन लिंक्ड लिस्ट पर 'add_linked_list' मेथड कॉल की गई है।
आउटपुट कंसोल पर डिस्प्ले किया गया है।