队列与栈"/>
代码随想录day:队列与栈
理论基础
队列和栈都不是容器,而是容器适配器。container adaptor。即他们可以都可以以vector,列表或者对方的容器实现。
- 用栈实现队列。写错的地方把栈的定义写在初始化的地方了。
class MyQueue {stack<int> stack1;stack<int> stack2;
public:MyQueue() {
# #stack<int> stack1;##stack<int> stack2;}void push(int x) {stack1.push(x);}int pop() {int popx=peek();stack2.pop();return popx;}int peek() {if(stack2.empty()){while(!stack1.empty()){int temp=stack1.top();stack1.pop();stack2.push(temp);}}int popx=stack2.top();return popx;}bool empty() {return (stack1.empty() && stack2.empty());}
};/*** Your MyQueue object will be instantiated and called as such:* MyQueue* obj = new MyQueue();* obj->push(x);* int param_2 = obj->pop();* int param_3 = obj->peek();* bool param_4 = obj->empty();*/
更多推荐
代码随想录day:队列与栈
发布评论