जब लिंक्ड लिस्ट का उपयोग करके स्टैक डेटा स्ट्रक्चर इम्प्लीमेंट करना होता है, तो लिंक्ड लिस्ट में एलिमेंट्स जोड़ने (पुश ऑपरेशन) और लिंक्ड लिस्ट के एलिमेंट्स डिलीट करने (पॉप ऑपरेशन) के लिए मेथड्स डिफाइन की जाती हैं।
उदाहरण
class Node:
def __init__(self, data):
self.data = data
self.next = None
class Stack_structure:
def __init__(self):
self.head = None
def push_val(self, data):
if self.head is None:
self.head = Node(data)
else:
newNode = Node(data)
newNode.next = self.head
self.head = newNode
def pop_val(self):
if self.head is None:
return None
else:
del_Val = self.head.data
self.head = self.head.next
return del_Val
my_instance = Stack_structure()
while True:
print('push ')
print('pop')
print('quit')
my_input = input('आप कौन सा एक्शन करना चाहेंगे? ').split()
operation = my_input[0].strip().lower()
if operation == 'push':
my_instance.push_val(int(my_input[1]))
elif operation == 'pop':
del_Val = my_instance.pop_val()
if del_Val is None:
print('स्टैक खाली है।')
else:
print('डिलीट की गई वैल्यू है: ', int(del_Val))
elif operation == 'quit':
break
आउटपुट
pushpop quit आप कौन सा एक्शन करना चाहेंगे? push 56 push pop quit आप कौन सा एक्शन करना चाहेंगे? push 78 push pop quit आप कौन सा एक्शन करना चाहेंगे? push 90 push pop quit आप कौन सा एक्शन करना चाहेंगे? pop डिलीट की गई वैल्यू है: 90 push pop quit आप कौन सा एक्शन करना चाहेंगे? quit
व्याख्या
'Node' क्लास बनाई गई है।
आवश्यक एट्रिब्यूट्स के साथ 'Stack_structure' क्लास बनाई गई है।
इसमें एक 'init' फंक्शन है जो पहले एलिमेंट यानी 'head' को 'None' से इनिशियलाइज़ करता है।
'push_val' नामक एक मेथड डिफाइन की गई है, जो स्टैक में वैल्यू जोड़ने में मदद करती है।
'pop_val' नामक एक अन्य मेथड डिफाइन की गई है, जो स्टैक के टॉप से वैल्यू डिलीट करने और डिलीट की गई वैल्यू रिटर्न करने में मदद करती है।
'Stack_structure' का एक इंस्टेंस बनाया गया है।
तीन विकल्प दिए गए हैं, जैसे 'push', 'pop', और 'quit'।
'push' विकल्प स्टैक में एक विशिष्ट वैल्यू जोड़ता है।
'pop' विकल्प स्टैक से टॉपमोस्ट एलिमेंट डिलीट करता है।
'quit' विकल्प लूप से बाहर निकलता है।
यूज़र के इनपुट/चॉइस के आधार पर, संबंधित ऑपरेशन किए जाते हैं।
यह आउटपुट कंसोल पर डिस्प्ले किया जाता है।