अजगर - ढेर
अंग्रेजी शब्दकोष में स्टैक शब्द का अर्थ है वस्तुओं को दूसरे स्थान पर व्यवस्थित करना। यह उसी तरह है जैसे इस डेटा संरचना में मेमोरी आवंटित की जाती है। यह डेटा तत्वों को इसी तरह से संग्रहीत करता है जैसे कि प्लेटों का एक गुच्छा रसोई में एक के ऊपर एक जमा होता है। तो स्टैक डेटा स्ट्रैच सीवन एक छोर पर परिचालन की अनुमति देता है, जिसे स्टैक के ऊपर कहा जा सकता है। हम तत्वों को जोड़ सकते हैं या तत्वों को हटा सकते हैं केवल इस एन को स्टैक बनाते हैं।
एक स्टैक में पिछले क्रम में उलझा हुआ तत्व पहले निकलेगा क्योंकि हम केवल स्टैक के ऊपर से निकाल सकते हैं। इस तरह की सुविधा को लास्ट इन फर्स्ट आउट (LIFO) फीचर के रूप में जाना जाता है। तत्वों को जोड़ने और हटाने के संचालन के रूप में जाना जाता हैPUSH तथा POP। निम्नलिखित कार्यक्रम में हम इसे जोड़ने और कार्यों को हटाने के रूप में लागू करते हैं। हम एक खाली सूची को हटाते हैं और डेटा तत्वों को जोड़ने और हटाने के लिए एपेंड () और पॉप () विधियों का उपयोग करते हैं।
एक ढेर में धक्का
class Stack:
def __init__(self):
self.stack = []
def add(self, dataval):
# Use list append method to add element
if dataval not in self.stack:
self.stack.append(dataval)
return True
else:
return False
# Use peek to look at the top of the stack
def peek(self):
return self.stack[-1]
AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.peek()
print(AStack.peek())
AStack.add("Wed")
AStack.add("Thu")
print(AStack.peek())
जब उपरोक्त कोड निष्पादित होता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है:
Tue
Thu
एक ढेर से पीओपी
जैसा कि हम जानते हैं कि हम स्टैक से केवल सबसे शीर्ष डेटा तत्व को हटा सकते हैं, हम एक पायथन प्रोग्राम को लागू करते हैं जो ऐसा करता है। निम्न प्रोग्राम में निकालें फ़ंक्शन शीर्ष सबसे अधिक तत्व देता है। हम पहले स्टैक के आकार की गणना करके शीर्ष तत्व की जांच करते हैं और फिर शीर्ष सबसे अधिक तत्व का पता लगाने के लिए इन-बिल्ट पॉप () विधि का उपयोग करते हैं।
class Stack:
def __init__(self):
self.stack = []
def add(self, dataval):
# Use list append method to add element
if dataval not in self.stack:
self.stack.append(dataval)
return True
else:
return False
# Use list pop method to remove element
def remove(self):
if len(self.stack) <= 0:
return ("No element in the Stack")
else:
return self.stack.pop()
AStack = Stack()
AStack.add("Mon")
AStack.add("Tue")
AStack.add("Wed")
AStack.add("Thu")
print(AStack.remove())
print(AStack.remove())
जब उपरोक्त कोड निष्पादित होता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है:
Thu
Wed