栈和队列跟其他容器类似,但栈和队列受一定的限制。
stack:
1 后进先出,只能从栈顶插入和删除数据
2 头文件 #include <stack>
queue:
1 先进先出,从队尾插入元素,从队首删除元素
2 #include <queue>
priority_queue:
1 #include <queue>
2 可使用谓词,改变规则
#include <iostream>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
using namespace std;
int main()
{
/*stack: 栈顶插入,栈顶引用,栈顶删除*/
cout << "1 stack: " << endl;
std::stack <int> intStack;
intStack.push(10); //在栈顶插入元素, 只允许在栈顶访问元素
intStack.push(20); //在栈顶插入元素
intStack.push(30); //在栈顶插入元素
intStack.push(40); //在栈顶插入元素
cout << " delete top data: " << intStack.top() << endl; //获取栈顶的引用
while (0 != intStack.size()