हेल्लो दोस्तों आज के इस पोस्ट में आपको Stack in Data structure in hindi के बारे में बताया जा रहा है की क्या होता है कैसे काम करता है कितने प्रकार के होते है तो चलिए शुरू करते है
Contents
What is Stack Data Structure?
Stack(Stack in Data structure in hindi) सवार्धिक प्रयोग किये जाने वाला data structure होता है Stack data structure का प्रोग्रामिंग के क्षेत्र में बहुत अधिक महत्त्व है
Stack एक linear data structure है जिसमे कोई भी element सिर्फ एक ही side से add और remove किया जा सकता है stack में जिस side से element को add और remove किया जाता है वह side top कहलाती है
stack को किसी cafeteria में रखी गयी plates के bundle से compare किया जा सकता है plates के उस bundle में जब कोई नयी plate add की जाती है तो वह हमेशा top पर ही add होगी इसी प्रकार जब कोई plate remove की जाएगी तो वह top से ही remove की जाएगी
किसी stack में सबसे आखिर में add किया गया element सबसे पहले remove किया जाता है इसलिए stack को last in first out(LIFO) structure भी कहा जाता है
stack दो प्रकार से implement किया जा सकता है
i.static implement
ii.dynamic implement
1.Static Implement
Static implementation में stack create करने के लिए array का प्रयोग किया जाता है stack create करने के लिए सर्वाधिक यही तरीका प्रयोग किया जाता है
static implementation में मेमोरी का सही utilization नहीं हो पाता है static implementation में stack की size को compile time पर ही डिफाइन किया जाता है यदि add करने के लिए stack की size से अधिक elements है तो ऐसे में आप stack की size को change नहीं कर सकते है static implementation में stack को डिफाइन करने का तरीका निचे बताया गया है
#define MAX 10 //size of stack int stack [MAX]; //stack declaration int Top=-1 //declaring Top variable
जैसे की आप ऊपर दिए गए कोड में देख सकते है जिसमे सबसे पहले MAX constant define किया जाता है इस content की वैल्यू stack को define करने के लिए प्रयोग किया जाता है इसके अलावा यह constant top pointer प्राप्त करने के लिए भी प्रयोग किया जाता है क्योकि array हमेशा 0 index से शुरू होता है इसलिए MAX-1 position हमेशा stack में top position को दर्शाती है
इसके बाद array define करके stack को define किया गया हिया इसके बाद top variable को declare और initialize किया गया है top variable को -1 initialize किया गया है जैसे आप अलग अलग operations perform करते है इस variable की वैल्यू घटती और बढती रहती है
ii.Dynamic implementation
dynamic implementation में stack create करने के लिए linked list का प्रयोग किया जाता है dynamic implementation में मेमोरी का पूर्ण utilization होता है
dynamic implementation में stack को define करने के तरीका निचे बताया जा रहा है
struck stack { int data struck stack *Next; } struck Node *Top
जैसा की आप ऊपर दिए गए कोड में देख सकते है एक stack linked list define की गयी है और उसका top variable create किया गया है
what is top of stack ?
जब एक stack को array या linked list के रूप में implement किया जाता है तो उस array या linked list का सबसे आखिरी element top होता है stack में किसी भी प्रकार का insertion या deletion array या linked list के last में ही किया जाता है
top का प्रयोग stack की underflow और overflow conditions को चेक करने के लिए किया जाता है शुरुआत में top को 1 से initialize किया जाता है जैसे जैसे stack में elements बढ़ते जाते है top भी increase होता जाता है top हमेशा array या linked list के आखिरी element को point करता है
जब top की value -1 होती है तो इसका अर्थ यह होता है की stack में कोई भी वैल्यू नहीं है और stack empty है जब top की value 0 होती है तो इसका अर्थ होता है की top में सिर्फ एक element है इसी प्रकार यदि top की value maximum size से एक कम हो तो stack full होता है
overfull & underfull
यदि stack empty हो और उसमे से किसी element को remove करने का प्रयास किया जाए तो ऐसे situation underflow कहलाती है
यदि stack full हो और उसमे नया element add करने का प्रयास किया जाये तो ऐसी सिचुएशन overflow कहलाती है
operations of stack
stack data structure के साथ निचे दिए जा रहे operations perform किये जाते है
1.push-जब stack में कोई element add किया जाता है तो वह operation push operation कहलाता है
2.pop-जब stack में कोई element remove किया जाता है तो वह operation pop operation कहलाता है
3.peep-जब stack में किसी particular location से data प्राप्त किया जाता है तो वह operation peep operation कहलाता है
4.update-जब stack में किसी element की वैल्यू change की जाती है तो वह operation update operation कहलाता है
Use of stack
stack data structure का उपयोग मुख्यत: computer systems और compilers के लिए किया जाता है array और linked list में कही से भी elements को insert और remove किया जा सकता है लेकिन कई बार ऐसी सिचुएशन(situation) भी होती है की जब आपको कही से भी किये जाने वाले insertion और deletion को एक ही साइड्स से controlled way में perform किया जा सके ऐसी situations के लिए stack data structure का उपयोग किया जाता है
इसके अलावा ऐसी कोई भी condition जहा पर आपको last in first out(LIFO) order implement करने की आवश्यकता हो आप stack को implement करते है stack का प्रयोग infix ,postfix और prefix conversions के लिए भी किया जाता है साथ ही stack का प्रयोग expression कको evaluate करने और strings को reverse करने के लिए भी किया जाता है
रिफरेन्स-https://www.geeksforgeeks.org/stack-data-structure/
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(Stack in Data structure in hindi) अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये अगर कोई topic(Stack in Data structure in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे