操作受限的线性表
队列
队列 有先进先出的特点
公平排队的题目 广度优先遍历
C++STL #include
像使用vector一样使用queue
队列支持
push
pop
front/back
empty
#include <queue>
#include <cstdio>
using namespace std;
int main(){
queue<int> myQueue;
if(myQueue.empty()){
printf("empty");
}
//队尾入队
for(int i=0;i<10;++i){
myQueue.push(i);
printf("front=%d,back=%d\n",myQueue.front(),myQueue.back());
}
printf("\n");
//队头出队
for(int i=0;i<9;++i){
myQueue.pop();
printf("front=%d,back=%d\n",myQueue.front(),myQueue.back());
}
}
栈
后进先出
栈底栈顶
一般服务于一种有特权的场景
深度优先遍历 表达式解析 递归
栈的头文件
#include<stack>
栈的定义
stack<int> MySatck;
栈判空
mySatck.empty();
压栈 出栈
myStack.push(i);
myStack.pop();