Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

उदाहरण के साथ पायथन में स्टैक की व्याख्या करें

स्टैक एक रैखिक डेटा संरचना है जो लास्ट इन फर्स्ट आउट . पर काम करती है तंत्र (एलआईएफओ)। स्टैक में सबसे पहले प्रवेश करने वाला तत्व संसाधित होने वाला अंतिम तत्व है।

उदाहरण

स्टैक डेटा संरचना को व्यंजनों के ढेर के उदाहरण की सहायता से समझा जा सकता है।

बर्तन एक के बाद एक ढेर किए जा रहे हैं। पहली प्लेट या डिश ढेर के नीचे होती है और आखिरी डिश ढेर या ढेर के ऊपर रखी जाती है। जब भी हमें प्लेट की आवश्यकता होगी, हम प्लेट को स्टैक के शीर्ष पर उठाएंगे जो कि प्लेट डाली गई है या सबसे अंत में रखी गई है। जो प्लेट पहले रखी गई थी, वह उठाई जाने वाली आखिरी प्लेट होगी। इस प्रकार, लास्ट इन फर्स्ट आउट तंत्र का पालन किया जाता है।

पायथन में स्टैक का कार्यान्वयन

पायथन में स्टैक को अन्य रैखिक डेटा संरचनाओं या पायथन लाइब्रेरी में इन-बिल्ट मॉड्यूल का उपयोग करके विभिन्न तरीकों से लागू किया जा सकता है।

विधि 1 - सूची का उपयोग करके कार्यान्वित करें

पायथन में स्टैक को सूची का उपयोग करके लागू किया जा सकता है। लेकिन, स्टैक को लागू करने के लिए सूची का उपयोग करना अधिक कुशल नहीं है और इसलिए अनुशंसित नहीं है।

ऑपरेशन शामिल

जोड़ें () - यह फ़ंक्शन स्टैक के अंत में एक तत्व जोड़ता है।

पॉप () - यह फ़ंक्शन स्टैक में अंतिम या शीर्ष तत्व को हटाता है और लौटाता है। यह फ़ंक्शन तत्वों को LIFO क्रम में पॉप करता है।

उदाहरण

stack=[]stack.append(1)stack.append(2)stack.append(3)print("Initial Stack", stack)print("Element popped from the stack")print(stack.pop( )) प्रिंट (स्टैक। पॉप ()) प्रिंट ("कुछ तत्वों को पॉप करने के बाद स्टैक", स्टैक)

आउटपुट

Initial Stack [1, 2, 3]तत्व कुछ तत्वों को पॉप करने के बाद stack32Stack से पॉप किया गया [1]

स्टैक खाली होने के बाद आप अधिक तत्वों को नहीं हटा सकते। ऐसा करने से अपवाद होता है।

stack.pop()IndexError:खाली सूची से पॉप करें

विधि 2 - Queue.LifoQueue

. का उपयोग करके कार्यान्वित करें

पाइथन से इनबिल्ट मॉड्यूल का उपयोग करके स्टैक को कार्यान्वित करने का यह तरीका है। हमें कतार से LifoQueue आयात करने की आवश्यकता है। हम LifoQueue को इनिशियलाइज़ कर सकते हैं या कुछ विशिष्ट आकार के साथ स्टैक कर सकते हैं। शून्य के आकार का अर्थ है एक अनंत ढेर।

ऑपरेशन शामिल

अधिकतम आकार − स्टैक में अनुमत तत्वों की अधिकतम संख्या

प्राप्त करें () - स्टैक से अंतिम या शीर्ष तत्व को हटा दें और वापस कर दें। यदि स्टैक खाली है, तब तक प्रतीक्षा करें जब तक कि स्टैक में कम से कम एक तत्व न हो।

get_nowait() - स्टैक से अंतिम तत्व निकालें और वापस करें। यदि स्टैक खाली है, तो अपवाद उठाएं।

डालें(आइटम) - स्टैक के अंत में एक तत्व संलग्न करें। यदि स्टैक भरा हुआ है, तब तक प्रतीक्षा करें जब तक कि एक निःशुल्क स्लॉट उपलब्ध न हो जाए।

put_nowait(आइटम) - स्टैक के अंत में एक तत्व संलग्न करें। यदि स्टैक भरा हुआ है, तो अपवाद उठाएं।

पूर्ण () - यदि स्टैक भरा हुआ है, तो सत्य लौटाता है, अन्यथा असत्य लौटाता है।

खाली () - यदि स्टैक खाली है, तो सही है, अन्यथा गलत है

qsize () - स्टैक में मौजूद तत्वों की संख्या लौटाता है

उदाहरण

कतार आयात से स्टैक से पॉप किया गया") प्रिंट (s.get ()) प्रिंट (s.get ()) प्रिंट ("स्टैक में तत्वों की संख्या", s.qsize ()) प्रिंट ("स्टैक खाली है", s. खाली ( ))

आउटपुट

क्या स्टैक पूर्ण है TrueElement, स्टैक से पॉप किया गया है32स्टैक 1 में तत्वों की संख्या, स्टैक खाली है, गलत है

विधि 3:collections.deque का उपयोग करके कार्यान्वित करें

यह पायथन में स्टैक को लागू करने का एक और तरीका है। हमें संग्रह मॉड्यूल से डेक आयात करने की आवश्यकता है।

इसमें शामिल ऑपरेशन

जोड़ें () - यह फ़ंक्शन स्टैक के अंत में एक तत्व जोड़ता है।

पॉप () - यह फ़ंक्शन O(1) समय जटिलता में स्टैक में अंतिम तत्व को हटाता है और लौटाता है।

उदाहरण

संग्रह से (stack.pop())print(stack.pop())print("कुछ तत्वों को पॉप करने के बाद स्टैक करें:", स्टैक)

आउटपुट

प्रारंभिक स्टैक:डेक ([1, 2, 3]) कुछ तत्वों को पॉप करने के बाद स्टैक 32 स्टैक से तत्व पॉप किया गया:डेक ([1]) 

एक खाली डेक पर पॉप () फ़ंक्शन का उपयोग करने से एक अपवाद उत्पन्न होगा।


  1. जावास्क्रिप्ट रेगुलर एक्सप्रेशन संशोधक को उदाहरणों के साथ समझाएं

    जावास्क्रिप्ट रेगुलर एक्सप्रेशन संशोधक रेगुलर एक्सप्रेशन का वैकल्पिक हिस्सा हैं और हमें केस असंवेदनशील और वैश्विक खोजकर्ता करने की अनुमति देते हैं। संशोधक को एक साथ भी जोड़ा जा सकता है। संशोधक निम्नलिखित हैं - संशोधक विवरण g यह वैश्विक मिलान को सक्षम बनाता है और पहले मैच पर रुकने के बजाय सभी मि

  1. जावास्क्रिप्ट में अंतिम कथन को उदाहरण सहित समझाइए।

    आखिरकार स्टेटमेंट हमेशा ट्राई एंड कैच ब्लॉक के बाद निष्पादित होता है, भले ही कोई त्रुटि हुई हो या नहीं। जावास्क्रिप्ट में अंतिम विवरण के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="vi

  1. सी में उपयुक्त उदाहरणों के साथ स्ट्रिंग लाइब्रेरी फ़ंक्शंस की व्याख्या करें

    स्ट्रिंग लाइब्रेरी फ़ंक्शन स्ट्रिंग को संभालने के लिए डिज़ाइन किए गए पूर्वनिर्धारित फ़ंक्शन लाइब्रेरी string.h में उपलब्ध हैं। वे हैं - स्ट्रेल () strcmp () strcpy () strncmp () strncpy () स्ट्रेव () स्ट्रैट () स्ट्रस्ट्र () strncat () स्ट्रेल () फ़ंक्शन यह एक स्ट्रिंग में वर्णों की संख्या देता