# include <stack>
不深入研究细节,只讨论基本使用。
两个参数:
stack<元素数据类型,容器类型(可缺省> s;
例如:
stack<int> s1;
stack<string> s2;
基本操作:
s.push(x); //入栈
s.pop(); //出栈,只删除,不返值
s.top(); //访问栈顶
s.empty(); //判断栈空
s.size(); //访问元素个数
#include<queue>
参数同栈stack
基本操作:
p.push(x); //入队 p.pop(); //出队,只删除,不返值 p.front(); //访问队首元素 p.back(); //访问队尾元素 p.empty(); //判断队列空 p.size(); //访问元素个数
priority_queue优先队列,按照队列中元素优先级出队。
三个参数:
元素类型、容器类型(可缺省)、比较算子(可缺省,默认为less,即大的先出队)
比较算子:
less算子:小的往前排,大的先出队;
greater算子:大的往前排,小的先出队;
自定义算子:重载比较运算符,例如:
bool operator < (const T &t1 , const T &t2) { return t1.z < t2.z; }