Stack in Data structure in hindi-स्टैक डाटा स्ट्रक्चर क्या है?

हेल्लो दोस्तों आज के इस पोस्ट में आपको Stack in Data structure in hindi के बारे में बताया जा रहा है की क्या होता है कैसे काम करता है कितने प्रकार के होते है तो चलिए शुरू करते है

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 करने के लिए भी किया जाता है

Stack in Data structure in hindi

रिफरेन्स-https://www.geeksforgeeks.org/stack-data-structure/

निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(Stack in Data structure in hindi) अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये अगर कोई topic(Stack in Data structure in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे

Leave a Comment