जब किसी लिंक की गई सूची का उपयोग करके स्टैक डेटा संरचना को लागू करने की आवश्यकता होती है, तो लिंक की गई सूची में तत्वों को जोड़ने (पुश मान) करने की एक विधि, और लिंक की गई सूची के तत्वों को हटाने (पॉप मान) की एक विधि परिभाषित की जाती है।
नीचे उसी के लिए एक प्रदर्शन है -
उदाहरण
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 <value>')
print('pop')
print('quit')
my_input = input('What action would you like to perform ? ').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('The stack is empty.')
else:
print('The deleted value is : ', int(del_Val))
elif operation == 'quit':
break आउटपुट
push <value> pop quit What action would you like to perform ? push 56 push <value> pop quit What action would you like to perform ? push 78 push <value> pop quit What action would you like to perform ? push 90 push <value> pop quit What action would you like to perform ? pop The deleted value is : 90 push <value> pop quit What action would you like to perform ? quit
स्पष्टीकरण
-
'नोड' वर्ग बनाया गया है।
-
आवश्यक विशेषताओं के साथ एक और 'स्टैक_स्ट्रक्चर' वर्ग बनाया गया है।
-
इसमें एक 'init' फंक्शन होता है जिसका इस्तेमाल पहले एलिमेंट यानी 'हेड' से 'कोई नहीं' को इनिशियलाइज़ करने के लिए किया जाता है।
-
'push_val' नाम की एक विधि परिभाषित की गई है, जो स्टैक में मान जोड़ने में मदद करती है।
-
'pop_val' नाम की एक और विधि परिभाषित की गई है, जो स्टैक के ऊपर से किसी मान को हटाने में मदद करती है, और हटाए गए मान को लौटाती है।
-
'स्टैक_स्ट्रक्चर' का एक उदाहरण बनाया गया है।
-
तीन विकल्प दिए गए हैं, जैसे 'पुश', 'पॉप' और 'क्विट'।
-
'पुश' विकल्प स्टैक में एक विशिष्ट मान जोड़ता है।
-
'पॉप' विकल्प स्टैक से सबसे ऊपरी तत्व को हटा देता है।
-
'छोड़ो' विकल्प लूप से बाहर आता है।
-
उपयोगकर्ता द्वारा इनपुट/पसंद के आधार पर, संबंधित ऑपरेशन किए जाते हैं।
-
यह आउटपुट कंसोल पर प्रदर्शित होता है।