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 print_it(self):
      self.helper_print(self.head)

   def helper_print(self, curr):
      if curr is None:
         return

      print(curr.data)
      self.helper_print(curr.next)

my_instance = my_linked_list()
n = int(input('How many elements you wish to add ? '))
for i in range(n):
   data = int(input('Enter a data item : '))
   my_instance.add_value(data)

print('The linked list: ')
my_instance.print_it()

आउटपुट

How many elements you wish to add ? 4
Enter a data item : 34
Enter a data item : 67
Enter a data item : 12
Enter a data item : 89
The linked list:
34
67
12
89

स्पष्टीकरण

  • 'नोड' वर्ग बनाया गया है।

  • आवश्यक विशेषताओं के साथ एक और 'my_linked_list' वर्ग बनाया गया है।

  • इसमें एक 'init' फ़ंक्शन होता है जिसका उपयोग पहले तत्व को प्रारंभ करने के लिए किया जाता है, यानी 'हेड' से 'कोई नहीं' और अंतिम नोड को 'कोई नहीं'।

  • 'add_value' नाम की एक अन्य विधि को परिभाषित किया गया है, जिसका उपयोग लिंक की गई सूची में डेटा जोड़ने के लिए किया जाता है।

  • 'प्रिंट_इट' नामक एक अन्य विधि को परिभाषित किया गया है जो कंसोल पर लिंक की गई सूची डेटा प्रदर्शित करने के लिए सहायक विधि को कॉल करती है।

  • 'helper_print' नाम की एक अन्य विधि को परिभाषित किया गया है जिसका उपयोग लिंक की गई सूची डेटा को कंसोल पर प्रदर्शित करने के लिए किया जाता है।

  • यह सहायक फ़ंक्शन परिभाषित किया गया है, क्योंकि यहां रिकर्सन का उपयोग करने की आवश्यकता है।

  • 'my_linked_list' वर्ग का एक ऑब्जेक्ट बनाया जाता है।

  • लिंक की गई सूची में तत्वों की संख्या के लिए उपयोगकर्ता इनपुट लिया जाता है।

  • इस श्रेणी को पुनरावृत्त किया जाता है, और डेटा जोड़ने के लिए विधियों को बुलाया जाता है।

  • यह 'print_it' पद्धति का उपयोग करके कंसोल पर प्रदर्शित होता है।


  1. पायथन प्रोग्राम n नोड्स की एक डबल लिंक्ड सूची बनाने और इसे उल्टे क्रम में प्रदर्शित करने के लिए

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

  1. पायथन प्रोग्राम n नोड्स की एक डबल लिंक्ड सूची बनाने और नोड्स की संख्या की गणना करने के लिए

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

  1. सर्कुलर लिंक्ड लिस्ट के तत्वों को छाँटने के लिए पायथन प्रोग्राम

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