两个队列实现一个栈:
class Stack {
private :
queue<int> q[2];
int current = 0;
public :
void Push(int data) {
q[current].push(data);
}
int Pop() {
int result = 0;
int n = (int)q[current].size();
if (n!= 0) {
for (int i = 0; i < n -1; i ++) {
int tmp = q[current].front();
q[current].pop();
q[1-current].push(tmp);
}
result = q[current].front();
q[current].pop();
current = 1 - current;
}
return result;
}
};
07-06
07-05
07-05
07-06
07-06
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交