C # में ढेर क्या है?
स्टैक एक विशेष केस कलेक्शन है जो पहले आउट (LIFO) अवधारणा में एक अंतिम का प्रतिनिधित्व करता है। पहले LIFO को समझने के लिए, आइए एक उदाहरण लेते हैं। एक दूसरे के ऊपर रखी प्रत्येक पुस्तक के साथ पुस्तकों के ढेर की कल्पना करें।
किताबों के मामले में सबसे पहले अंतिम की अवधारणा का मतलब है कि केवल सबसे शीर्ष पुस्तक को पुस्तकों के ढेर से हटाया जा सकता है। बीच में से एक किताब निकालना संभव नहीं है, क्योंकि तब स्टैक की सेटिंग में गड़बड़ी होगी।
इसलिए C # में, स्टैक भी उसी तरह से काम करता है। तत्वों को स्टैक में जोड़ा जाता है, एक दूसरे के शीर्ष पर। स्टैक में एक तत्व जोड़ने की प्रक्रिया को एक पुश ऑपरेशन कहा जाता है। एक स्टैक से एक तत्व को हटाने के लिए, आप स्टैक के शीर्ष सबसे तत्व को भी हटा सकते हैं। इस ऑपरेशन को पॉप के रूप में जाना जाता है।
आइए स्टैक संग्रह के लिए उपलब्ध कार्यों को अधिक विस्तार से देखें।
ढेर की घोषणा
स्टैक डेटा प्रकार की मदद से एक स्टैक बनाया जाता है। "नया" कीवर्ड का उपयोग स्टैक की एक वस्तु बनाने के लिए किया जाता है। ऑब्जेक्ट तब चर सेंट को सौंपा जाता है।
Stack st = new Stack()
स्टैक में तत्वों को जोड़ना
स्टैक पर किसी तत्व को जोड़ने के लिए पुश विधि का उपयोग किया जाता है। कथन का सामान्य सिंटैक्स नीचे दिया गया है।
Stack.push(element)
स्टैक से तत्वों को निकालना
स्टैक से किसी तत्व को निकालने के लिए पॉप विधि का उपयोग किया जाता है। पॉप ऑपरेशन स्टैक के सबसे ऊपरी तत्व को वापस करेगा। कथन का सामान्य सिंटैक्स नीचे दिया गया है
Stack.pop()
गिनती
इस संपत्ति का उपयोग स्टैक में वस्तुओं की संख्या प्राप्त करने के लिए किया जाता है। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है।
Stack.Count
शामिल
इस विधि का उपयोग यह देखने के लिए किया जाता है कि क्या कोई तत्व स्टैक में मौजूद है। नीचे इस कथन का सामान्य सिंटैक्स दिया गया है। यदि तत्व मौजूद है, तो कथन सही वापस आ जाएगा, अन्यथा यह गलत मान लौटाएगा।
Stack.Contains(element)
अब इसे एक कोड स्तर पर काम करते हुए देखते हैं। नीचे दिए गए सभी कोड हमारे कंसोल एप्लिकेशन को लिखे जाएंगे। कोड हमारे Program.cs फ़ाइल को लिखा जाएगा।
नीचे दिए गए कार्यक्रम में, हम यह देखेंगे कि हम उपर्युक्त विधियों का उपयोग कैसे कर सकते हैं।
उदाहरण 1
इस उदाहरण में, हम देखेंगे
- एक स्टैक कैसे बनाया जाता है।
- स्टैक के तत्वों को कैसे प्रदर्शित करें, और गणना और कंटेनर विधियों का उपयोग करें।
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();}}}
कोड स्पष्टीकरण: -
- स्टैक को घोषित करने के लिए पहले चरण का उपयोग किया जाता है। यहां हम अपने स्टैक के तत्वों को धारण करने के लिए एक चर के रूप में "सेंट" घोषित कर रहे हैं।
- अगला, हम अपने ढेर में 3 तत्व जोड़ते हैं। प्रत्येक तत्व पुश विधि के माध्यम से जोड़ा जाता है।
- अब चूंकि स्टैक तत्वों को सरणी सूची की तरह सूचकांक स्थिति के माध्यम से एक्सेस नहीं किया जा सकता है, हमें स्टैक के तत्वों को प्रदर्शित करने के लिए एक अलग दृष्टिकोण का उपयोग करने की आवश्यकता है। ऑब्जेक्ट (obj) एक अस्थायी चर है, जो स्टैक के प्रत्येक तत्व को रखने के लिए घोषित किया गया है। हम तब स्टैक के प्रत्येक तत्व के माध्यम से जाने के लिए foreach स्टेटमेंट का उपयोग करते हैं। प्रत्येक स्टैक तत्व के लिए, मान obj वैरिएबल को असाइन किया गया है। फिर हम कंसोल को मान प्रदर्शित करने के लिए Console.Writeline कमांड का उपयोग करते हैं।
- स्टैक में आइटम की संख्या प्राप्त करने के लिए हम काउंट प्रॉपर्टी ( st.count ) का उपयोग कर रहे हैं । यह प्रॉपर्टी एक नंबर वापस करेगी। हम तब इस मान को कंसोल पर प्रदर्शित करते हैं।
- हम फिर कंटेंस विधि का उपयोग करके यह देखते हैं कि 3 का मान हमारे स्टैक में मौजूद है या नहीं। यह या तो सही या गलत मान लौटाएगा। फिर हम कंसोल में इस रिटर्न वैल्यू को प्रदर्शित करते हैं।
यदि उपरोक्त कोड ठीक से दर्ज किया गया है और प्रोग्राम चलाया जाता है तो निम्न आउटपुट प्रदर्शित किया जाएगा।
आउटपुट:
आउटपुट से, हम देख सकते हैं कि स्टैक के तत्व प्रदर्शित होते हैं। साथ ही, True का मान यह कहने के लिए प्रदर्शित किया जाता है कि स्टैक पर 3 का मान परिभाषित किया गया है।
नोट : आपने देखा है कि स्टैक पर धकेल दिया गया अंतिम तत्व पहले प्रदर्शित होता है। यह स्टैक का सबसे ऊपरी तत्व है। स्टैक तत्वों की गिनती भी आउटपुट में दिखाई जाती है।
उदाहरण 2
अब चलो "हटाएं" कार्यक्षमता को देखें। हम स्टैक से सबसे ऊपरी तत्व को निकालने के लिए आवश्यक कोड देखेंगे।
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 को स्टैक से हटा दिया गया था।
सारांश
- एक स्टैक पहली अवधारणा में अंतिम पर आधारित है। स्टैक में एक तत्व जोड़ने के संचालन को पुश ऑपरेशन कहा जाता है। स्टैक में एक तत्व को हटाने के संचालन को पॉप ऑपरेशन कहा जाता है।