Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन प्रोग्राम: दो लिंक्ड लिस्ट के संबंधित पोज़िशन वाले एलिमेंट्स को जोड़ना


जब दो लिंक्ड लिस्ट में विशिष्ट पोज़िशन के संबंधित एलिमेंट्स को जोड़ना होता है, तो लिंक्ड लिस्ट में एलिमेंट्स जोड़ने, लिंक्ड लिस्ट के एलिमेंट्स प्रिंट करने और लिंक्ड लिस्ट के संबंधित पोज़िशन पर एलिमेंट्स जोड़ने के लिए मेथड्स डिफाइन की जाती हैं। दो लिस्ट इंस्टेंस बनाए जाते हैं और पहले से डिफाइन की गई मेथड इन लिंक्ड लिस्ट इंस्टेंस पर कॉल की जाती है।

उदाहरण

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' मेथड कॉल की गई है।

  • आउटपुट कंसोल पर डिस्प्ले किया गया है।


  1. - Python में लिंक्ड लिस्ट को बीच में मर्ज करने का प्रोग्राम

    मान लीजिए हमारे पास दो लिंक्ड लिस्ट L1 और L2 हैं जिनकी लंबाई m और n है, हमारे पास दो पोजीशन a और b भी हैं। हमें L1 से aवें नोड से bवें नोड तक नोड्स को हटाना है और बीच में L2 को मर्ज करना है। उदाहरण के लिए, यदि इनपुट है L1 = [1,5,6,7,1,6,3,9,12], L2 = [5,7,1,6], a = 3, b = 6, तो आउटपुट [1, 5, 6, 5,

  1. Python से लिंक्ड लिस्ट के रूप में दिए गए दो पॉलीनोमियल्स को कैसे जोड़ें? Python से लिंक्ड लिस्ट के रूप में दिए गए दो पॉलीनोमियल्स को कैसे जोड़ें?

    पावर के अनुसार सॉर्टेड लिंक्ड लिस्ट पॉलीनोमियल्स को मर्ज-जैसे एल्गोरिदम से जोड़ें: समान पावर के कोएफिशिएंट्स जोड़ें। एल्गोरिदम डमी नोड और करंट नोड इनिशियलाइज़ करें। जब तक दोनों लिस्ट्स खाली नहीं: पावर कंपेयर करें। poly2.power: poly1 नोड अटैच करें। poly1.power < poly2.power: poly2 नोड अटैच करें। सम

  1. - पायथन में दो लिंक्ड लिस्ट के तत्वों को इंटरलीव (बारी-बारी से मिलाने) करने का प्रोग्राम

    मान लीजिए हमारे पास दो लिंक्ड लिस्ट l1 और l2 हैं, हमें एक लिंक्ड लिस्ट लौटानी है जिसमें इन दोनों लिस्ट के तत्व बारी-बारी से मिले हों, शुरूआत l1 से होगी। यदि किसी लिंक्ड लिस्ट में बचे हुए नोड्स हैं, तो उन्हें अंत में जोड़ दिया जाना चाहिए। उदाहरण के लिए, यदि इनपुट l1 = [5,4,6,3,4,7], l2 = [8,6,9] है,