पुश और पॉप उदाहरणों के साथ C# स्टैक
C# में स्टैक क्या है?
स्टैक एक विशेष केस कलेक्शन है जो लास्ट इन फर्स्ट आउट (LIFO) अवधारणा का प्रतिनिधित्व करता है। LIFO को समझने के लिए सबसे पहले एक उदाहरण लेते हैं। किताबों के एक ढेर की कल्पना करें जिसमें हर किताब एक दूसरे के ऊपर रखी हुई है।
किताबों के मामले में अंतिम में पहले बाहर की अवधारणा का मतलब है कि किताबों के ढेर से केवल सबसे ऊपर वाली किताब ही निकाली जा सकती है। बीच से किताब निकालना संभव नहीं है, क्योंकि ऐसा करने से ढेर की सेटिंग गड़बड़ा जाएगी।
इसलिए में C#स्टैक भी इसी तरह काम करता है। स्टैक में एक के ऊपर एक एलिमेंट जोड़े जाते हैं। स्टैक में एलिमेंट जोड़ने की प्रक्रिया को पुश ऑपरेशन कहते हैं। स्टैक से एलिमेंट हटाने के लिए आप स्टैक के सबसे ऊपर वाले एलिमेंट को भी हटा सकते हैं। इस ऑपरेशन को पॉप कहते हैं।
आइए स्टैक संग्रह के लिए उपलब्ध परिचालनों पर अधिक विस्तार से नजर डालें।
स्टैक की घोषणा
स्टैक डेटा प्रकार की सहायता से स्टैक बनाया जाता है। स्टैक का ऑब्जेक्ट बनाने के लिए “new” कीवर्ड का उपयोग किया जाता है। फिर ऑब्जेक्ट को st वेरिएबल को असाइन किया जाता है।
Stack st = new Stack()
स्टैक में तत्व जोड़ना
पुश विधि का उपयोग स्टैक पर एक तत्व जोड़ने के लिए किया जाता है। कथन का सामान्य सिंटैक्स नीचे दिया गया है।
Stack.push(element)
स्टैक से तत्वों को हटाना
पॉप विधि का उपयोग स्टैक से किसी तत्व को हटाने के लिए किया जाता है। पॉप ऑपरेशन स्टैक के सबसे ऊपरी तत्व को लौटाएगा। कथन का सामान्य सिंटैक्स नीचे दिया गया है
Stack.pop()
गिनती
इस प्रॉपर्टी का उपयोग स्टैक में आइटम की संख्या जानने के लिए किया जाता है। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है।
Stack.Count
शामिल हैं
इस विधि का उपयोग यह देखने के लिए किया जाता है कि स्टैक में कोई तत्व मौजूद है या नहीं। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है। यदि तत्व मौजूद है तो कथन सत्य लौटाएगा, अन्यथा यह गलत मान लौटाएगा।
Stack.Contains(element)
अब आइए इसे कोड स्तर पर काम करते हुए देखें। नीचे दिए गए सभी कोड हमारे लिए लिखे जाएँगे सांत्वना आवेदन. कोड हमारी Program.cs फ़ाइल में लिखा जाएगा.
नीचे दिए गए प्रोग्राम में, हम कोड लिखकर देखेंगे कि हम उपर्युक्त विधियों का उपयोग कैसे कर सकते हैं।
उदाहरण 1: Stack.Push() विधि
इस उदाहरण में हम देखेंगे
- स्टैक का निर्माण कैसे होता है?
- स्टैक के तत्वों को कैसे प्रदर्शित करें, तथा Count और Contain विधियों का उपयोग कैसे करें।
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push(1); st.Push(2); st.Push(3); foreach (Object obj in st) { Console.WriteLine(obj); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("The number of elements in the stack " +st.Count); Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3)); Console.ReadKey(); } } }
कोड स्पष्टीकरण:-
- पहला चरण स्टैक घोषित करने के लिए उपयोग किया जाता है। यहाँ हम अपने स्टैक के तत्वों को रखने के लिए “st” को एक चर के रूप में घोषित कर रहे हैं।
- इसके बाद, हम अपने स्टैक में 3 तत्व जोड़ते हैं। प्रत्येक तत्व को पुश विधि के माध्यम से जोड़ा जाता है।
- अब चूंकि स्टैक तत्वों तक इंडेक्स स्थिति के माध्यम से नहीं पहुंचा जा सकता है जैसे सरणी सूची, हमें स्टैक के तत्वों को प्रदर्शित करने के लिए एक अलग दृष्टिकोण का उपयोग करने की आवश्यकता है। ऑब्जेक्ट (obj) एक अस्थायी चर है, जिसे स्टैक के प्रत्येक तत्व को रखने के लिए घोषित किया जाता है। फिर हम स्टैक के प्रत्येक तत्व से गुजरने के लिए foreach कथन का उपयोग करते हैं। प्रत्येक स्टैक तत्व के लिए, मान obj चर को सौंपा जाता है। फिर हम कंसोल पर मान प्रदर्शित करने के लिए Console.Writeline कमांड का उपयोग करते हैं।
- हम Count प्रॉपर्टी का उपयोग कर रहे हैं (सेंट गिनती) का उपयोग करके स्टैक में मौजूद आइटम की संख्या प्राप्त करें। यह प्रॉपर्टी एक संख्या लौटाएगी। फिर हम यह मान कंसोल पर प्रदर्शित करते हैं।
- फिर हम Contains विधि का उपयोग करके देखते हैं कि क्या 3 का मान हमारे स्टैक में मौजूद है। यह या तो true या false मान लौटाएगा। फिर हम इस रिटर्न मान को कंसोल पर प्रदर्शित करते हैं।
यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम चलाया गया है तो निम्नलिखित आउटपुट प्रदर्शित होगा।
आउटपुट:
आउटपुट से हम देख सकते हैं कि स्टैक के तत्व प्रदर्शित किए गए हैं। साथ ही, True का मान प्रदर्शित किया गया है, जिसका अर्थ है कि स्टैक पर 3 का मान परिभाषित किया गया है।
नोट: आपने देखा होगा कि स्टैक पर धकेला गया अंतिम तत्व सबसे पहले प्रदर्शित होता है। यह स्टैक का सबसे ऊपरी तत्व है। आउटपुट में स्टैक तत्वों की गिनती भी दिखाई जाती है।
उदाहरण 2: Stack.Pop() विधि
अब आइए “remove” कार्यक्षमता पर नज़र डालें। हम स्टैक से सबसे ऊपर वाले तत्व को हटाने के लिए आवश्यक कोड देखेंगे।
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Stack st = new Stack(); st.Push(1); st.Push(2); st.Push(3); st.Pop(); foreach (Object obj in st) { Console.WriteLine(obj); } Console.ReadKey(); } } }
कोड स्पष्टीकरण:-
- यहां हम केवल पॉप विधि जारी करते हैं जिसका उपयोग स्टैक से किसी तत्व को हटाने के लिए किया जाता है।
यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम चलाया गया है, तो निम्नलिखित आउटपुट प्रदर्शित होगा।
आउटपुट:
हम देख सकते हैं कि तत्व 3 को स्टैक से हटा दिया गया है।
सारांश
- स्टैक अंतिम में पहले बाहर की अवधारणा पर आधारित है। स्टैक में एक तत्व जोड़ने के ऑपरेशन को पुश ऑपरेशन कहा जाता है। स्टैक में एक तत्व को हटाने के ऑपरेशन को पॉप ऑपरेशन कहा जाता है।