预备知识:栈和队列
1、栈:先进后出的线性表
S.top():取出栈顶
S.empty():判断栈是否为空
S.push(x):将x添加至栈
S.pop():弹出栈顶
S.size():栈的存储元素
举一个小例子:
#include<iostream>
#include<stack>
using namespace std;
int main()
{
std::stack<int> S;
if(S.empty())
{
printf("S is empty!\n");
}
S.push(5);
S.push(6);
S.push(10);
printf("S.top=%d\n",S.top());
S.pop();
S.pop();
printf("S.top=%d\n",S.top());
printf("S.size=%d\n",S.size());
return 0;
}
2、队列:先进先出的线性表
Q.empty():判断队列是否为空
Q.front():返回队列头部元素
Q.back():返回队列尾部元素
Q.push(x):将x添加至队列
Q.pop():弹出队列头部元素
Q.size():返回队列的存储元素的个数
在举一个小例子:
#include<iostream>
#include<queue>
using namespace std;
int main()
{
std::queue<int> Q;
if(Q.empty())
{
printf("Q is empty!\n");
}
Q.push(5);
Q.push(6);
Q.push(10);
printf("Q.front=%d\n",Q.front());
Q.pop();
Q.pop();
printf("Q.front=%d\n",Q.front());
Q.push(1);
printf("Q.back=%d\n",Q.back());
printf("Q.size=%d\n",Q.size());
return 0;
}