जब रिकर्सन का उपयोग करके स्टैक डेटा संरचना को उलटने की आवश्यकता होती है, तो मूल्य जोड़ने, मूल्य हटाने और स्टैक के तत्वों को प्रिंट करने के तरीकों के अलावा एक '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' को कॉल किया जाता है।