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

पायथन प्रोग्राम: रिकर्शन के बिना लिंक्ड लिस्ट के नोड्स को रिवर्स क्रम में डिस्प्ले करना


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

उदाहरण

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class my_linked_list:
    def __init__(self):
        self.head = None
        self.last_node = None

    def add_value(self, my_data):
        if self.last_node is None:
            self.head = Node(my_data)
            self.last_node = self.head
        else:
            self.last_node.next = Node(my_data)
            self.last_node = self.last_node.next

    def reverse_display(self):
        end_node = None
        while end_node != self.head:
            curr = self.head
            while curr.next != end_node:
                curr = curr.next
            print(curr.data)
            end_node = curr

my_instance = my_linked_list()
n = int(input('आप कितने एलिमेंट्स जोड़ना चाहते हैं? '))
for i in range(n):
    data = int(input('एक डेटा आइटम दर्ज करें: '))
    my_instance.add_value(data)
print('रिवर्स्ड लिंक्ड लिस्ट है: ')
my_instance.reverse_display()

आउटपुट

आप कितने एलिमेंट्स जोड़ना चाहते हैं? 5
एक डेटा आइटम दर्ज करें: 43
एक डेटा आइटम दर्ज करें: 67
एक डेटा आइटम दर्ज करें: 87
एक डेटा आइटम दर्ज करें: 12
एक डेटा आइटम दर्ज करें: 34
रिवर्स्ड लिंक्ड लिस्ट है: 34 12 87 67 43

व्याख्या

  • 'Node' क्लास बनाई गई है।

  • आवश्यक एट्रिब्यूट्स के साथ 'my_linked_list' क्लास बनाई गई है।

  • इसमें एक 'init' फंक्शन है जो पहले एलिमेंट यानी 'head' को 'None' और लास्ट नोड को 'None' से इनिशियलाइज़ करता है।

  • 'add_value' नामक एक अन्य मेथड डिफाइन की गई है, जिसका उपयोग लिंक्ड लिस्ट में डेटा जोड़ने के लिए किया जाता है।

  • 'reverse_display' नामक एक अन्य मेथड डिफाइन की गई है जिसका उपयोग लिंक्ड लिस्ट डेटा को रिवर्स क्रम में कंसोल पर डिस्प्ले करने के लिए किया जाता है।

  • 'my_linked_list' क्लास का एक ऑब्जेक्ट बनाया गया है।

  • लिंक्ड लिस्ट में एलिमेंट्स की संख्या के लिए यूज़र इनपुट लिया जाता है।

  • इस रेंज पर इटरेट किया जाता है, और डेटा जोड़ने के लिए इस पर मेथड्स कॉल की जाती हैं।

  • एलिमेंट्स को 'reverse_display' का उपयोग करके रिवर्स किया जाता है और कंसोल पर डिस्प्ले किया जाता है।


  1. - पायथन प्रोग्राम: N नोड्स की डबल लिंक्ड लिस्ट बनाएं और रिवर्स ऑर्डर में प्रदर्शित करें

    जब डबल लिंक्ड लिस्ट बनाने और एलिमेंट्स को रिवर्स ऑर्डर में प्रदर्शित करने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में तीन एट्रिब्यूट्स होते हैं, नोड में मौजूद डेटा, लिंक्ड लिस्ट के अगले नोड तक पहुंच, और लिंक्ड लिस्ट के पिछले नोड तक पहुंच।एक और क्लास बनाने की आवश्यकत

  1. - पायथन प्रोग्राम: N नोड्स की डबल लिंक्ड लिस्ट बनाएं और नोड्स गिनें

    जब डबल लिंक्ड लिस्ट में नोड्स की संख्या गिनने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में तीन एट्रिब्यूट्स होते हैं, नोड में मौजूद डेटा, लिंक्ड लिस्ट के अगले नोड तक पहुंच, और लिंक्ड लिस्ट के पिछले नोड तक पहुंच।डबल लिंक्ड लिस्ट में, नोड्स में पॉइंटर्स होते हैं। वर्तम

  1. - लिंक्ड लिस्ट के आंतरिक नोड्स को उल्टा करने का पायथन प्रोग्राम

    मान लीजिए हमारे पास एक लिंक्ड लिस्ट है, हमारे पास i और j दो मान भी हैं, हमें लिंक्ड लिस्ट को i से jवें नोड्स तक उल्टा करना है। और अंत में अपडेटेड लिस्ट लौटाएं। उदाहरण के लिए, यदि इनपुट [1,2,3,4,5,6,7,8,9] i = 2 j = 6 है, तो आउटपुट [1, 2, 7, 6, 5, 4, 3, 8, 9] होगा। इसे हल करने के लिए, हम निम्न चरणों