1.头文件
#include<queue>// 队列
#include<stack>//栈
2.定义方式
stack<int> s;//参数也是数据类型,这是栈的定义方式
queue<int> q; //参数是数据类型,这是队列的定义方式
3.常用操作
栈:
s.empty()//如果栈为空返回true,否则返回false
s.size()//返回栈中元素的个数
s.pop()//删除栈顶元素但不返回其值
s.top()//返回栈顶的元素,但不删除该元素
s.push(X)//在栈顶压入新元素 ,参数X为要压入的元素
队列:
q.empty()// 如果队列为空返回true,否则返回false
q.size() // 返回队列中元素的个数
q.pop() //删除队列首元素但不返回其值
q.front() // 返回队首元素的值,但不删除该元素
q.push(X) //在队尾压入新元素 ,X为要压入的元素
q.back() //返回队列尾元素的值,但不删除该元素
例子
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <vector>
using namespace std;
int main()
{
queue<int> q;
stack<char> s;
q.push(1);
cout << q.enpty() << endl;
q.push(2);
cout << q.front() << endl;
q.pop();
cout << q.front() << endl;
q.pop();
cout << q.empty() <<endl;
s.push(a);
cout << s.top() <<endl;
s.push(b);
cout << s.top();
s,pop();
cout << s.top();
}