বিমূর্ত ডেটাটাইপ হল বিশেষ ধরনের ডেটাটাইপ, যার আচরণ মান এবং ক্রিয়াকলাপের সেট দ্বারা সংজ্ঞায়িত করা হয়। কীওয়ার্ড "বিমূর্ত" ব্যবহার করা হয় কারণ আমরা এই ডেটাটাইপগুলি ব্যবহার করতে পারি, আমরা বিভিন্ন অপারেশন করতে পারি। কিন্তু সেই অপারেশনগুলি কীভাবে কাজ করছে যা ব্যবহারকারীর কাছ থেকে সম্পূর্ণ লুকানো। ADT আদিম ডেটাটাইপ দিয়ে তৈরি, কিন্তু অপারেশন লজিক লুকানো থাকে।
এখানে আমরা স্ট্যাক ADT দেখতে পাব। এগুলি স্ট্যাক ADT-এর কয়েকটি অপারেশন বা ফাংশন।
- isFull(), এটি স্ট্যাক পূর্ণ কিনা তা পরীক্ষা করতে ব্যবহৃত হয়
- isEmpry(), স্ট্যাক খালি আছে কিনা তা পরীক্ষা করতে এটি ব্যবহার করা হয়
- পুশ(x), এটি x কে স্ট্যাকের মধ্যে পুশ করতে ব্যবহৃত হয়
- pop(), এটি স্ট্যাকের উপরে থেকে একটি উপাদান মুছে ফেলার জন্য ব্যবহৃত হয়
- পিক(), এটি স্ট্যাকের শীর্ষস্থানীয় উপাদান পেতে ব্যবহৃত হয়
- size(), এই ফাংশনটি স্ট্যাকে উপস্থিত উপাদানের সংখ্যা পেতে ব্যবহৃত হয়
উদাহরণ
#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