C++ STL-এ, স্ট্যাক ধারক হিসাবে ব্যবহৃত হয় যা LIFO কাঠামো হিসাবে প্রয়োগ করা হয়। LIFO মানে ফার্স্ট আউটে শেষ। স্ট্যাককে বইয়ের একটি স্তূপ হিসাবে দেখা যেতে পারে যেখানে বইগুলি একটির উপরে একটির উপরে সাজানো থাকে এবং শেষ সন্নিবেশিত বইটি প্রথমটি সরিয়ে ফেলা হবে তাই এটিকে LIFO কাঠামো বলা হয়৷

স্ট্যাকের সাথে যুক্ত ক্রিয়াকলাপগুলি হল -
-
শীর্ষ() - এই ফাংশনটি স্ট্যাকের শীর্ষস্থানীয় উপাদানের রেফারেন্স প্রদান করে।
সিনট্যাক্স - name_of_stack.top()
প্যারামিটার - কোন প্যারামিটার নেই
রিটার্ন মান - একটি স্ট্যাক কন্টেইনারের শীর্ষস্থানীয় উপাদানের উল্লেখ
-
পুশ() - এই ফাংশনটি স্ট্যাক কন্টেইনারে উপাদান সন্নিবেশ করতে ব্যবহৃত হয়।
সিনট্যাক্স - name_of_stack.push(উপাদান)
প্যারামিটার - এই ফাংশনটি ঢোকানোর জন্য উপাদান নেয়৷
রিটার্ন মান - এটা কিছুই ফেরত দেয় না।
-
পপ() - এই ফাংশনটি স্ট্যাক কন্টেইনার থেকে উপাদান সরাতে ব্যবহৃত হয়।
সিনট্যাক্স - name_of_stack.pop()
প্যারামিটার - কোন প্যারামিটার নেই
রিটার্ন মান - এটি একটি স্ট্যাকের শীর্ষস্থানীয় উপাদানটিকে সরিয়ে দেয় এবং এটি ফেরত দেয়৷
-
আকার() - এই ফাংশনটি একটি স্ট্যাকে উপস্থিত উপাদানগুলির মোট সংখ্যা গণনা করতে ব্যবহৃত হয়৷
সিনট্যাক্স - name_of_stack.size()
প্যারামিটার - কোন প্যারামিটার নেই
রিটার্ন মান - এটি একটি স্ট্যাকের উপাদানের সংখ্যা প্রদান করে।
-
খালি() - এই ফাংশনটি স্ট্যাকটি খালি আছে কিনা তা পরীক্ষা করতে ব্যবহৃত হয়
সিনট্যাক্স - name_of_stack.empty()
প্যারামিটার - কোন প্যারামিটার নেই
রিটার্ন মান - এটি বুলিয়ান মান প্রদান করে যা হয় সত্য বা মিথ্যা। স্ট্যাক খালি হলে সত্য এবং স্ট্যাক খালি না থাকলে মিথ্যা।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int main(){
//create a stack container
stack <int> newStack;
//insert elements to a stack
newStack.push(10);
newStack.push(20);
newStack.push(30);
newStack.push(40);
//check whether the values are pushed in stack or not
//using empty()
if(!newStack.empty()){
//calculate size of a stack
cout<<"Stack size is: "<< newStack.size();
}
else{
cout<<"Stack is empty";
}
cout<<"\nElements in the stack are:";
while(!newStack.empty()){
cout<<" "<< newStack.top();
newStack.pop();
}
return 0;
} আউটপুট
Stack size is: 4 Elements in the stack are: 40 30 20 10