STACK In Hindi/ STACK Kya Hota Hai?/ STACK क्या है ?

हेलो दोस्तों आज के इस ब्लॉग पोस्ट(STACK In Hindi) में हम आपको Stack के बारे में हिंदी में जानकारी देने वाले है |

Stack(STACK In Hindi) जो है वो एक लीनियर डाटा स्ट्रक्चर(Data Structure) होता है|

जो कि ऑपरेशन परफॉर्म करने के लिए एक प्रॉपर आर्डर फॉलो करता है |STACK In Hindi|

और ये आर्डर हो सकते है LIFO (last in first Out) और FILO (first in last Out)|STACK In Hindi|

Stack(STACK In Hindi) जो होता है वो abstract Data type होता है |

और इसे बहुत सी programming language में use किया जाता है |STACK In Hindi|

इसे Stack(STACK In Hindi) इसलिए कहा जाता है क्योकि यह रियल लाइफ के Stack की तरह ही behave करता है |

जैसे example के लिए a deck of a cards अथवा pile of plates |

stack example
stack example: STACK In Hindi

Real world में जो Stack होता है वह केवल एक ही end पर ऑपरेशन को allow करता है |

जैसे कि Example के लिए हम किसी कार्ड अथवा प्लेट्स को केवल टॉप से ही रिमूव कर सकते है |STACK In Hindi|

इसलिए ADT Stack केवल एक ही end से डाटा ऑपरेशन को allow करता है |

हम किसी भी समय स्टैक के केवल टॉप element को access कर सकते है |

और इसका यही features इसे LIFO Data structure बनता है |

LIFO जो है उसे हम last in first out कहते है |

मतलब जो element लास्ट में insert होगा उसे हम सबसे पहले एक्सेस कर पाएंगे|

Stack की टर्मिनोलॉजी में हम insertion ऑपरेशन को हम PUSH ऑपरेशन कहते है|

और एलिमेंट के रिमूवल operation को हम POP ऑपरेशन कहते है |

Stack Representation :

निचे दिए गए Stack के डायग्राम में आप Stack और उसके Operation को देख सकते है |

stack representation
stack representation: STACK In Hindi

Stack को हम एक array , structure , pointer , और linked list की सहायता से इम्प्लीमेंट कर सकते है |

Stack या तो किसी fixed साइज का हो सकता है या फिर वो dynamic resizing का हो सकता है |

यहाँ पर एक array की मदद से स्टैक को इम्प्लीमेंट करने जा रहे है |

जो कि एक फिक्स्ड साइज स्टैक इम्प्लीमेंटेशन करता है |

Basic operations :

Stack Operation में mainly तीन चीज़े होती है सबसे पहले स्टैक को initialize करना|

और फिर उसे use करना और इसके बाद उसे de -initialize करना|

इन basic stuff के अलावा स्टैक को दो main ऑपरेशन के लिए use किया जाता है वो है −

push() − किसी भी एलिमेंट को Stack में PUSH अथवा store करना .

pop() − Stack से किसी भी एलिमेंट को रिमूव करना अथवा निकालना जब डाटा को Stack में pushed कर दिया जाता है|

किसी भी Stack को efficiently use करने के लिए सबसे पहले Stack का स्टेटस चेक करना जरुरी है |

और इसी purpose के लिए निम्नलिखित functionality को स्टैक में add किया जाता है

peek() − Stack के टॉप डाटा को प्राप्त करना बिना उसे रिमूव किये |

isFull() − status फुल है या नहीं चेक करने के लिए |

isEmpty() − empty स्टेटस चेक करने के लिए

हर समय हम एक पॉइंटर मेन्टेन करते है जो कि उस डाटा पर होता है|

जिसे Stack में सबसे last में PUSH किया जाता है इसलिए इसे टॉप कहा जाता है |

और यह जो टॉप पॉइंटर है वो स्टैक की टॉप वैल्यू प्रोवाइड करवाता है बिना उसे रिमूव करें |

Push Operation :

Stack में नए डाटा एलिमेंट को रखने की प्रोसेस को हम PUSH ऑपरेशन बोलते है |

PUSH ऑपरेशन में निम्नलिखित steps रहते है:

Step 1 − चेक करना है कि Stack फुल है या नहीं

Step 2 − अगर Stack full है तो एक error प्रोडूस करके exit कर दो

Step 3 − अगर Stack फुल नहीं है तो फिर Top पॉइंटर को increment कर दो जिससे वो अगले एम्प्टी स्पेस को पॉइंट करने लगे|

Step 4 – जहाँ पर Top पॉइंट कर रहा है वहां पर डाटा एलिमेंट को ऐड कर दो

Step 5 − Returns success.

stack push operation
stack push operation: STACK In Hindi

अगर Stack को implement करने के लिए linked list का उपयोग करते है|

तो फिर स्टेप 3 में हमें dynamically स्पेस को allocate करना पड़ेगा|

PUSH Operation की algorithm : PUSH Operation की algorithm नीचे दी गयी है |

begin procedure push: stack, data

   if stack is full
      return null
   endif
   
   top ← top + 1
   stack[top] ← data

end procedure

algorithm का C में implementation नीचे दिया गया है |

Example :

void push(int data) {
   if(!isFull()) {
      top = top + 1;   
      stack[top] = data;
   } else {
      printf("Could not insert data, Stack is full.\n");
   }
}

Pop Operation :

जब हम किसी भी Stack से किसी कंटेंट को रिमूव करते है|

अथवा access करते है तब इस ऑपरेशन को हम POP Operation कहते है |

POP () ऑपरेशन के array implementation में actually में डाटा एलिमेंट जो है वो remove नहीं होता है |

जबकि यहाँ पर Stack में टॉप जो है उसका lower position पर decrement हो जाता है और वह next वैल्यू को पॉइंट करने लगता है |

पर linked list implementation के केस में जो डाटा एलिमेंट है उसे actually में रिमूव कर दिया जाता है|

और फिर उसके मेमोरी स्पेस को deallocate कर दिया जाता है |

एक POP Operation में निम्नलिखित स्टेप्स रहते है

Step 1 − सबसे पहले चेक करो कि Stack खाली है या नहीं

Step 2 − अगर Stack खाली है तो फिर error produce करके exit कर दो

Step 3 − अगर Stack empty नहीं है तब उस डाटा एलिमेंट को access करो जिसे टॉप पॉइंट कर रहा है |

Step 4 − टॉप की वैल्यू को 1 से decrease कर दो

Step 5 − Returns success.

stack pop operation
stack pop operation: STACK In Hindi

POP Operation के लिए एक सिंपल algorithm निम्नलिखित है :

begin procedure pop: stack

   if stack is empty
      return null
   endif
   
   data ← stack[top]
   top ← top - 1
   return data

end procedure

इस algorithm का C में implementation निम्नलिखित है :

Example :

int pop(int data) {

   if(!isempty()) {
      data = stack[top];
      top = top - 1;   
      return data;
   } else {
      printf("Could not retrieve data, Stack is empty.\n");
   }
}

Please go through the below extensive blog link related to Data Structure:

Sorting Algorithm And Their Time Complexity In Data Structure.
What is meant by the Shell sort in data structure?
Radix Sort In Data Structure / What is the radix sort used for?
What is a quick sort of data structure?/ How do you write a quick sort?
Selection Sort In Hindi In Data Structure/ How do you perform a selection sort? / Selection sort kya hai?
Bubble Sort In Hindi In Data Structure/ What is bubble sort for example?/ Bubble Sort Kya Hai?
Insertion Sort In Hindi/ insertion sort step by step/ Insertion sort kya hai?
Searching In Data Structure/ What is the searching in data structure?
Shell Sort In Data Structure In Hindi?
Quick Sort In Data Structure In Hindi?
Types Of Data Structure In Hindi…
Tower Of Hanoi In Data Structure In Hindi…
Circular Linked List In Hindi…
Linked list in Hindi…
Data Structure In Hindi…
Dijkstra Shortest Path Algorithm In Hindi…
Heap In Data Structure In Hindi…
Check if a given Binary Tree is Heap…
B-Tree Example In Data Structure…
Kruskal Algorithm In Hindi In Data Structure…
Prim’s Algorithm In Hindi In Data Structure…
Difference Between Tree And Binary Tree In Hindi…
STACK In Hindi/ STACK Kya Hota Hai…

Quick Q&A:

What is a stack in data structure? Data structure के अंदर Stack क्या होता है?

Stack जो है वो एक linear data structure होता है|

जो कि operation के execution के लिए एक particular order follow करता है |

और ये आर्डर हो सकते है LIFO(Last In First Out) or FILO(First In Last Out)|

LIFO के अनुसार जो element जो element लास्ट में insert होगा वो सबसे पहले बाहर आएगा |

OR FILO के अनुसार जो element सबसे पहले insert होगा वो सबसे बाद में बाहर आएगा|

What is stack and its types? Stack और उसके प्रकार क्या होते है, एक example दे कर समझाइये?

Stack जो है वो एक abstract data type होता है जिसमे items जो है वो एक order और sequence में रहते है |

Queue के बिपरीत Stack जो है LIFO (last in, first out) structure को follow करता है |

अगर आप Stack को कोई real लाइफ example से समझना चाहते है तो फिर plates इसके लिए बहुत ही बढ़िया example है |

जब कई सारी प्लेट्स एक के ऊपर एक रखी होती है | तब आप केवल टॉप से ही plate को ले सकते है |

और इसी अनुसार आप केवल top पर ही कोई plate को add कर सकते है |

What are the two types of stacks? स्टैक के दो प्रकार कौन से होते है ?

Stack दो प्रकार के होते है, एक है Register Stack और दूसरा Memory Stack |

What are the advantages of the stack? Stack के क्या advantages होते है?

Stack के कुछ advantges निम्नलिखित है:

Stack जो है वो data को ‘Last in First out’ method से manage करता है |

जब किसी प्रोग्राम में variable function के बाहर use नहीं होता है तब हम Stack का उपयोग कर सकते है |

Stack आपको memory allocation और deallocation को control और handle करने के लिए allow करता है |

Stack आपको objects को automatically clean करने में मदद करता है |

What is the real application of stack? Stack का real application क्या होता है?

Stack के कुछ real applications निम्नलिखित है:

Infix expression को postfix expression में convert करना |

Undo /Redo Button /operation word processors में|

Stack का उपयोग languages में syntaxes को parse करने में भी होता है |

Why stack is better than an array? Stack जो है वो Array से बेहतर क्यों होता है?

Array /lists का उपयोग करने के बजाए हम Stack /queue का उपयोग हम तब करते है|

जब हमें elements एक specific order में चाहिए होते है |

जैसे कि हम उन्हें Stack अथवा queue में रखते है |

Stack और queue जो है वो dynamic होते है और वही दूसरी तरफ Array जो है वो static होता है |

इसलिए हमें जब भी dynamic memory की जरुरत होती है तब Stack और queue का उपयोग किया जाता है |

What are the five basic operations of stack? Stack के पांच basic operations कौन कौन से होते है?

Stack के पांच basic operations निम्नलिखित है:

Push: Stack के टॉप में एलिमेंट को add करना|

Pop: Stack के टॉप से एलिमेंट को remove करना|

IsEmpty: Stack एम्प्टी है यह चेक करना|

IsFull: Stack फुल है यह चेक करना|

Peek: Top एलिमेंट को बिना remove किये उसकी value पता करना|

Conclusion:

तो दोस्तों इस ब्लॉग पोस्ट( STACK In Hindi ) में हमने Stack के बारे में हिंदी में जाना | Stack जो है वो एक linear Data structure होता है जिसमे दो तरीको से element को store अथवा remove किया जाता है | एक होता है LIFO (last in first out) और दूसरा है फिलो(first in last out )| Stack के अंदर दो मुख्य Operation होते है एक होता है PUSH ऑपरेशन जिसमे element को Stack के अंदर PUSH किया जाता है| और दूसरा होता है POP Operation जिसमे element को Stack से remove अथवा access किया किया जाता है |

इस ब्लॉग(STACK In Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते support@a5theory.comपर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस पोस्ट(STACK In Hindi) को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|STACK In Hindi|

आपका समय शुभ हो|STACK In Hindi

Anurag

I am a blogger by passion, a software engineer by profession, a singer by consideration and rest of things that I do is for my destination.