स्टैक लास्ट इन फर्स्ट आउट डेटा संरचना है। स्टैक का उपयोग विभिन्न क्षेत्रों में अभिव्यक्तियों, कॉल और रिकर्सन रणनीति आदि के मूल्यांकन के लिए किया जाता है। स्टैक में कुछ आदिम संचालन होते हैं। यहां हम स्टैक के उन कार्यों को देखेंगे, और स्टैक एडीटी का उपयोग करके एक उदाहरण देखेंगे।
एडीटी (अमूर्त डेटाटाइप) विशेष प्रकार का डेटाटाइप है, जिसका व्यवहार मूल्यों के एक सेट और संचालन के सेट द्वारा परिभाषित किया जाता है। कीवर्ड "एब्सट्रैक्ट" का उपयोग किया जाता है क्योंकि हम इन डेटाटाइप्स का उपयोग कर सकते हैं, हम विभिन्न ऑपरेशन कर सकते हैं। लेकिन वे ऑपरेशन कैसे काम कर रहे हैं जो यूजर से पूरी तरह छुपा हुआ है। ADT आदिम डेटाटाइप से बना है, लेकिन ऑपरेशन लॉजिक्स छिपे हुए हैं।
ये स्टैक एडीटी के कुछ संचालन या कार्य हैं।
- isFull(), इसका उपयोग यह जांचने के लिए किया जाता है कि स्टैक भरा हुआ है या नहीं
- isEmpry(), इसका उपयोग यह जांचने के लिए किया जाता है कि स्टैक खाली है या नहीं
- पुश(x), इसका उपयोग x को स्टैक में धकेलने के लिए किया जाता है
- पॉप (), इसका उपयोग स्टैक के ऊपर से एक तत्व को हटाने के लिए किया जाता है
- पीक (), इसका उपयोग स्टैक के शीर्षतम तत्व को प्राप्त करने के लिए किया जाता है
- आकार (), इस फ़ंक्शन का उपयोग स्टैक में मौजूद तत्वों की संख्या प्राप्त करने के लिए किया जाता है
उदाहरण
#include<iostream>
#include<stack>
using namespace std;
main(){
stack<int> stk;
if(stk.empty()){
cout << "Stack is empty" << endl;
} else {
cout << "Stack is not empty" << endl;
}
//insert elements into stack
stk.push(10);
stk.push(20);
stk.push(30);
stk.push(40);
stk.push(50);
cout << "Size of the stack: " << stk.size() << endl;
//pop and dispay elements
while(!stk.empty()) {
int item = stk.top(); // same as peek operation
stk.pop();
cout << item << " ";
}
} आउटपुट
Stack is empty Size of the stack: 5 50 40 30 20 10