একটি কিউ ব্যবহার করে স্ট্যাক ইমপ্লিমেন্ট করুন। পusch, pop, top, empty মেথডগুলো ডিফাইন করুন।
উদাহরণ: push(10), push(20), pop(), pop() -> আউটপুট 20, 10।
সমাধানের ধাপসমূহ
- একটি deque q ব্যবহার করুন।
- push(x): q.push_front(x)।
- pop(): k = q.front(); q.pop_front(); return k।
- top(): return q.front()।
- empty(): return q.empty()।
C++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
class MyStack {
private:
deque<int> q;
public:
void push(int x) { q.push_front(x); }
int pop() { int k = q.front(); q.pop_front(); return k; }
int top() { return q.front(); }
bool empty() { return q.empty(); }
};
int main() {
MyStack ob;
ob.push(10);
ob.push(20);
cout << ob.pop() << endl;
cout << ob.pop() << endl;
return 0;
}
ইনপুট
push(10),push(20),pop(),pop()
আউটপুট
20 10