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

रिकर्सन का उपयोग करके एक स्टैक को उलटने के लिए पायथन प्रोग्राम

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

नीचे उसी का एक प्रदर्शन है -

उदाहरण

class Stack_structure:
   def __init__(self):
      self.items = []

   def check_empty(self):
      return self.items == []

   def push_val(self, data):
      self.items.append(data)

   def pop_val(self):
      return self.items.pop()

   def print_it(self):
      for data in reversed(self.items):
         print(data)

def insert_bottom(instance, data):
   if instance.check_empty():
      instance.push_val(data)
   else:
      deleted_elem = instance.pop_val()
      insert_bottom(instance, data)
      instance.push_val(deleted_elem)

def stack_reverse(instance):
   if not instance.check_empty():
      deleted_elem = instance.pop_val()
      stack_reverse(instance)
      insert_bottom(instance, deleted_elem)

my_instance = Stack_structure()
data_list = input('Enter the elements to add to the stack: ').split()
for data in data_list:
   my_instance.push_val(int(data))

print('The reversed stack is:')
my_instance.print_it()
stack_reverse(my_instance)
print('The stack is:')
my_instance.print_it()

आउटपुट

Enter the elements to add to the stack: 23 56 73 81 8 9 0
The reversed stack is:
0
9
8
81
73
56
23
The stack is:
23
56
73
81
8
9
0

स्पष्टीकरण

  • एक 'स्टैक_स्ट्रक्चर' क्लास बनाई जाती है जो एक खाली सूची को इनिशियलाइज़ करती है।

  • स्टैक खाली है या नहीं यह देखने के लिए एक 'check_empty' विधि परिभाषित की गई है।

  • 'पुश_वल' नामक एक अन्य विधि को परिभाषित किया गया है जो तत्वों को स्टैक में जोड़ता है।

  • 'pop_val' नाम की एक अन्य विधि को परिभाषित किया गया है जो स्टैक से तत्वों को हटाती है।

  • 'print_it' नाम की एक विधि परिभाषित की गई है जो स्टैक के तत्वों को प्रिंट करने में मदद करती है।

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

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

  • इस 'स्टैक_स्ट्रक्चर' का एक उदाहरण परिभाषित किया गया है।

  • स्टैक के तत्व उपयोगकर्ता से लिए गए हैं।

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

  • अब, इस सूची में 'stack_reverse' कहा जाता है।

  • कंसोल पर उल्टे स्टैक को प्रदर्शित करने के लिए 'print_it' को कॉल किया जाता है।


  1. एक स्ट्रिंग एक पालिंड्रोम है या नहीं यह जांचने के लिए पायथन प्रोग्राम रिकर्सन का उपयोग कर रहा है

    जब यह जांचने की आवश्यकता होती है कि क्या स्ट्रिंग एक पैलिंड्रोम है या रिकर्सन तकनीक का उपयोग नहीं कर रही है, तो सरल अनुक्रमण और उपयोगकर्ता परिभाषित फ़ंक्शन, रिकटेशन के साथ उपयोग किया जाता है। पैलिंड्रोम वे तार या मान होते हैं जिन्हें बाएं से दाएं और दाएं से बाएं पढ़ने पर उनके संबंधित सूचकांकों में

  1. पायथन प्रोग्राम यह पता लगाने के लिए कि कोई संख्या प्राइम है या नहीं, रिकर्सन का उपयोग करके प्राइम है

    जब यह पता लगाने की आवश्यकता होती है कि कोई संख्या एक अभाज्य संख्या है या पुनरावृत्ति तकनीक का उपयोग नहीं कर रही है, तो एक विधि परिभाषित की जाती है, और जबकि स्थिति का उपयोग किया जाता है। रिकर्सन बड़ी समस्या के छोटे बिट्स के आउटपुट की गणना करता है, और बड़ी समस्या का समाधान देने के लिए इन बिट्स को जोड

  1. पायथन प्रोग्राम में एक स्ट्रिंग को कैसे उलटें?

    एक स्ट्रिंग को उलटने के लिए पायथन में कोई अंतर्निहित कार्य नहीं है। इस प्रकार, हमें एक स्ट्रिंग को उलटने के लिए अपने स्वयं के तर्क को लागू करने की आवश्यकता है। हम विभिन्न विधियों का उपयोग करके एक स्ट्रिंग को उलट देंगे। फॉर लूप का उपयोग करना इस पद्धति के पीछे का विचार स्ट्रिंग के अंतिम इंडेक्स से 0