এই প্রোগ্রামে আমরা দেখব কিভাবে C++ ব্যবহার করে স্ট্যাক বাস্তবায়ন করা যায়। একটি স্ট্যাক হল একটি বিমূর্ত ডেটা কাঠামো যা উপাদানগুলির একটি সংগ্রহ ধারণ করে। স্ট্যাক LIFO মেকানিজম প্রয়োগ করে অর্থাৎ শেষে যে উপাদানটি পুশ করা হয় তা প্রথমে পপ আউট করা হয়। স্ট্যাকের কিছু নীতিগত ক্রিয়াকলাপ হল −
-
ধাক্কা - এটি স্ট্যাকের শীর্ষে একটি ডেটা মান যোগ করে।
-
পপ - এটি স্ট্যাকের উপরে ডেটা মান সরিয়ে দেয়
-
উঁকি - এটি স্ট্যাকের শীর্ষ ডেটা মান প্রদান করে
একটি প্রোগ্রাম যা অ্যারে ব্যবহার করে একটি স্ট্যাক প্রয়োগ করে নিম্নরূপ দেওয়া হয়।
Input: Push elements 11, 22, 33, 44, 55, 66 Output: Pop elements 66, 55, 44, 33, 22, 11
অ্যালগরিদম
পুশ(আইটেম)
Begin increase the top pointer by 1 insert item into the location top End
পপ()
Begin item = top element from stack reduce top pointer by 1 return item End
পিক()
Begin item = top element from stack return item End
উদাহরণ কোড
#include <iostream> using namespace std; int stack[100], n = 100, top = -1; void push(int val) { if(top >= n-1) cout<<"Stack Overflow"<<endl; else { top++; stack[top] = val; } } void pop() { if(top <= -1) cout<<"Stack Underflow"<<endl; else { cout<<"The popped element is "<< stack[top] <<endl; top--; } } void display() { if(top>= 0) { cout<<"Stack elements are:"; for(int i = top; i>= 0; i--) cout<<stack[i]<<" "; cout<<endl; } else cout<<"Stack is empty"; } int main() { int ch, val; cout<<"1) Push in stack"<<endl; cout<<"2) Pop from stack"<<endl; cout<<"3) Display stack"<<endl; cout<<"4) Exit"<<endl; do { cout<<"Enter choice: "<<endl; cin>>ch; switch(ch) { case 1: { cout<<"Enter value to be pushed:"<<endl; cin>>val; push(val); break; } case 2: { pop(); break; } case 3: { display(); break; } case 4: { cout<<"Exit"<<endl; break; } default: { cout<<"Invalid Choice"<<endl; } } }while(ch! = 4); return 0; }
আউটপুট
1) Push in stack 2) Pop from stack 3) Display stack 4) Exit Enter choice: 1 Enter value to be pushed: 2 Enter choice: 1 Enter value to be pushed: 6 Enter choice: 1 Enter value to be pushed: 8 Enter choice: 1 Enter value to be pushed: 7 Enter choice: 2 The popped element is 7 Enter choice: 3 Stack elements are:8 6 2 Enter choice: 5 Invalid Choice Enter choice: 4 Exit