जब पुनरावृत्ति का उपयोग करके स्टैक डेटा संरचना को उलटने की आवश्यकता होती है, तो मान जोड़ने, मान हटाने, और स्टैक के तत्वों को प्रिंट करने के तरीकों के अलावा एक '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('स्टैक में जोड़ने के लिए तत्व दर्ज करें: ').split()
for data in data_list:
my_instance.push_val(int(data))
print('उलटा स्टैक है:')
my_instance.print_it()
stack_reverse(my_instance)
print('स्टैक है:')
my_instance.print_it()
आउटपुट
स्टैक में जोड़ने के लिए तत्व दर्ज करें: 23 56 73 81 8 9 0 उलटा स्टैक है: 0 9 8 81 73 56 23 स्टैक है: 23 56 73 81 8 9 0
व्याख्या
एक 'Stack_structure' क्लास बनाई गई है जो एक खाली सूची इनिशियलाइज़ करती है।
स्टैक खाली है या नहीं यह देखने के लिए 'check_empty' विधि परिभाषित की गई है।
'push_val' नामक एक अन्य विधि परिभाषित की गई है जो स्टैक में तत्व जोड़ती है।
'pop_val' नामक एक अन्य विधि परिभाषित की गई है जो स्टैक से तत्व हटाती है।
'print_it' नामक एक विधि परिभाषित की गई है जो स्टैक के तत्वों को प्रिंट करने में मदद करती है।
'insert_bottom' नामक एक विधि परिभाषित की गई है, जो तत्व को डिफ़ॉल्ट रूप से शीर्ष पर जोड़ने के बजाय स्टैक के नीचे जोड़ती है।
'stack_reverse' नामक एक अन्य विधि परिभाषित की गई है, जो दिए गए स्टैक को उलटने में मदद करती है।
इस 'Stack_structure' का एक इंस्टेंस परिभाषित किया गया है।
स्टैक के तत्व उपयोगकर्ता से लिए जाते हैं।
इस पर पुनरावृत्ति की जाती है, और स्टैक में मान जोड़ने और कंसोल पर प्रिंट करने के लिए विधियों को कॉल किया जाता है।
अब, इस सूची पर 'stack_reverse' कॉल किया जाता है।
उलटे स्टैक को कंसोल पर प्रदर्शित करने के लिए 'print_it' कॉल किया जाता है।