1、栈和队列介绍
栈的特点:栈的特点是先进后出,进出元素都是在同一端(栈顶)。
2、两个栈实现队原理
总结
#include
#include
using namespace std;
class QUEUE {
private:
stack<int> A, B;
public:
QUEUE() {
while (!A.empty())
A.pop();
while (!B.empty())
B.pop();
}
void que_push(int val)
{
A.push(val);
}
int que_pop()
{
if (B.empty())
{
while (!A.empty())
{
B.push(A.top());
A.pop();
}
}
if (B.empty())
return -1;//error
else{
int del_value = B.top();
B.pop();
return del_value;
}
}
};
int main(void)
{
stack<int> sta1; QUEUE Que1;
Que1.que_push(1);
Que1.que_push(2);
Que1.que_push(3);//-> 1 2 3 ->
cout << "弹出的是头" << Que1.que_pop() << endl;//3
return 0;
}
如果你精力旺盛可以尝试实现一下栈的底层
插图参考链接:https://blog.csdn.net/ailunlee/article/details/85100514