class Queue {
public:
stack<int>A;
stack<int>B;
// Push element x to the back of queue.
void push(int x) {
A.push(x);
}
// Removes the element from in front of queue.
void pop(void) {
while(B.size()){
B.pop();
}
while(A.size()){
B.push(A.top());
A.pop();
}
B.pop();
while(B.size()){
A.push(B.top());
B.pop();
}
}
// Get the front element.
int peek(void) {
while(B.size()){
B.pop();
}
while(A.size()){
B.push(A.top());
A.pop();
}
int t=B.top();
while(B.size()){
A.push(B.top());
B.pop();
}
return t;
}
// Return whether the queue is empty.
bool empty(void) {
return A.size()==0;
}
};
stack 模拟 queue
最新推荐文章于 2022-10-14 12:18:40 发布