STL中的queue和stack
2013-12-17 10:19
232 查看
做ACM时, 时常用到这两个数据结构, 特别是处理树, 图等操作时, 似乎已经必不可缺了.
若自我构造, 则耗时巨多, 且效率堪忧. 故灵活运用, 即可如鱼得水, 信手拈来.
特记之
#include<stack>
#include<queue>
std:queue
std:stack
using namespace std;
queue:
线性表, 尾进头出
queue <int> qu;
qu.push(val);
qu.pop();
qu.back();
qu.front(); //队首
qu.empty();
qu.size();
优先队列, 也包含在#include<queue>中
priority_queue<int> pqu;
方法和queue一样, 只是最大的元素位于队首
如果优先队列的元素类型是结构体,可以通过在结构体中重载“<“操作符的方法来修改优先队列的优先性。
struct info {
string name;
float score;
bool operator < (const info &a) const { //按照score由小到大进行排列,如果要使用由大到小,使用“>”即可 return a.score<score; }
}
此进直接把结构体入队,则会按score的递减顺序排
stack<int>st;
stack<int>st1;
st.push(a);
st.pop();
st.top();
st.empty();
st.size();
st.swap(st1);
若自我构造, 则耗时巨多, 且效率堪忧. 故灵活运用, 即可如鱼得水, 信手拈来.
特记之
#include<stack>
#include<queue>
std:queue
std:stack
using namespace std;
queue:
线性表, 尾进头出
queue <int> qu;
qu.push(val);
qu.pop();
qu.back();
qu.front(); //队首
qu.empty();
qu.size();
优先队列, 也包含在#include<queue>中
priority_queue<int> pqu;
方法和queue一样, 只是最大的元素位于队首
如果优先队列的元素类型是结构体,可以通过在结构体中重载“<“操作符的方法来修改优先队列的优先性。
struct info {
string name;
float score;
bool operator < (const info &a) const { //按照score由小到大进行排列,如果要使用由大到小,使用“>”即可 return a.score<score; }
}
此进直接把结构体入队,则会按score的递减顺序排
stack<int>st;
stack<int>st1;
st.push(a);
st.pop();
st.top();
st.empty();
st.size();
st.swap(st1);
相关文章推荐
- C++ STL--stack/queue 的使用方法
- C++ STL--stack/queue 的使用方法
- C++ STL:stack和queue
- stl 常用函数(包括vector list stack queue)
- C++的STL模板set,multiset,map,multimap,deque,list,stack,queue和priority_queue
- STL之容器适配器:stack,queue , priority_queue
- STL 整理map、set、vector、list、stack、queue、deque、priority_queue
- C++之STL(十一):容器适配器(stack、 queue 、priority_queue)源码浅析与使用示例
- STL_stack/queue
- STL--stack/queue的使用方法
- stl-stack/queue/list
- STL--stack/queue的使用方法(转载)
- STL中的queue和stack
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
- STL之queue&stack使用简介
- C++ STL模板 stack/queue 使用
- STL学习——STL中的序列式容器及适配器总结(vector、list、deque、stack、queue)
- STL--stack/queue的使用方法
- STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)(转)
- stl 常用函数(包括vector list stack queue)