### 232
```C++
class MyQueue {
public:
stack<int> In;
stack<int> Out;
MyQueue() {
}
void push(int x) {
In.push(x);
}
int pop() {
if(Out.empty()){
while(!In.empty()){
Out.push(In.top());
In.pop();
}
}
int res=Out.top();
Out.pop();
return res;
}
int peek() {
int res=this->pop();
Out.push(res);
return res;
}
bool empty() {
return Out.empty()&&In.empty();
}
};
```
### 225
```c++
//双队列
class MyStack {
public:
queue<int> qe1;
queue<int> qe2;
MyStack() {
}
void push(int x) {
qe1.push(x);
}
int pop() {
int size=qe1.size();
size--;
if(qe2.empty()){
while(size--){
qe2.push(qe1.front());
qe1.pop();
}
}
int res=qe1.front();
qe1.pop();
swap(qe1,qe2);
return res;
}
int top() {
int res=this->pop();
qe1.push(res);
return res;
}
bool empty() {
return qe1.empty();
}
};
//单队列
class MyStack {
public:
queue<int> qe;
MyStack() {
}
void push(int x) {
qe.push(x);
}
int pop() {
int size=qe.size();
size--;
while(size--){
int temp=qe.front();
qe.pop();
qe.push(temp);
}
int res=qe.front();
qe.pop();
return res;
}
int top() {
int res=this->pop();
qe.push(res);
return res;
}
bool empty() {
return qe.empty();
}
};
```
11-04完成