Data Structures in Hindi : Stack

Stack

  • Introduction to stack in Hindi
  • Operations of stack in Hindi
  • Applications of stack in Hindi

Introduction to Stack

Stack सर्वाधिक प्रयोग किये जाने वाला data structure है। Stack data structure का programming के क्षेत्र में बहुत अधिक महत्व है।

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 किया जा सकता है। इनके बारे में निचे बताया जा रहा है।

Static Implementation 

Static implementation में stack create करने के लिए array का प्रयोग किया जाता है। Stack create करने के लिए सर्वाधिक यही तरीका use किया जाता है। 

Static implementation में memory का सही utilization नहीं हो पाता है। Static implementation में stack की size को compile time पर ही define किया जाता है। यदि add करने के लिए stack की size से अधिक elements है तो ऐसे में आप stack की size को change नहीं कर सकते है।

Static implementation में stack को define करने का तरीका निचे बताया जा रहा है।

#define MAX 10      //Size of stack

int stack [MAX];    //Stack declaration using array

int Top = -1;            //Declaring Top variable 

जैसा की आप ऊपर दिए गए code में देख सकते है सबसे पहले MAX constant define किया गया है। इस constant की value 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 की value घटती और बढ़ती रहती है।

Dynamic Implementation 

Dynamic implementation में stack create करने के लिए linked list का प्रयोग किया जाता है। Dynamic implementation में memory का पूर्ण utilization होता है।

Dynamic implementation में stack को define करने के तरीका निचे बताया जा रहा है।

struct stack
{
    int data;
    struct stack *Next;
}

struct Node *Top;

जैसा की आप ऊपर दिए गए code में देख सकते है एक 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 को check करने के लिए किया जाता है। शुरआत में top को -1 से initialize किया जाता है। जैसे जैसे stack में elements बढ़ते जाते है TOP भी increase होता जाता है। TOP हमेशा array या linked list के आखिरी element को point करता है। 

जब TOP की value -1 होती है तो इसका अर्थ यह होता है की stack में कोई भी value नहीं है और stack empty है। जब TOP की value 0 हो तो इसका अर्थ होता है की TOP में सिर्फ एक element है। इसी प्रकार यदि top की value maximum size से एक कम हो तो stack full होता है। 

Overflow & Underflow

यदि stack empty हो और उसमें से किसी element को remove करने का प्रयास किया जाए तो ऐसी situation underflow कहलाती है। 

यदि stack full हो और उसमें नया element add करने का प्रयास किया जाये तो ऐसी situation overlow कहलाती है। 

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 की value change की जाती है तो वह operation update operation कहलाता है। 

Uses of Stack 

Stack data structure का उपयोग मुख्यतः computer systems और compilers के लिए किया जाता है। Array और linked list में कँही से भी elements को insert और remove किया जा सकता है। लेकिन कई बार ऐसी situation होती है जब आपको कँही से भी किये जाने वाले insertion और deletion को रोकना होता है ताकि insertion और deletion को एक ही side से controlled way में perform किया जा सके। ऐसी situations के लिए Stack data structure उपयोगी होता है। 

इसके अलावा ऐसी कोई भी condition जँहा पर आपको Last In First Out (LIFO) order implement करने की आवश्यकता हो आप stack को implement करते है। 

Stack का प्रयोग infix, postfix और prefix conversions के लिए भी किया जाता है। साथ ही stack का प्रयोग expressions को evaluate करने और strings को reverse करने के लिए भी किया जाता है। 

      DMCA.com Protection Status

 Leave a comment