Cpp算法-STL标准库
模板
1 | template <typename T> |
例
1 | template <typename T> |
vector(不定长数组)
声明
vector<数据类型> 名; 例 vector<int> a;
简单用法
a.size();读取大小a.resize();改变大小a.push_back(x);尾部添加元素xa.pop_back();删除最后一个元素a.clear();清空a.empty()询问是否为空(bool类型)a[]访问元素(可修改)
priority_queue(优先队列/堆)
声明
头文件: #include <queue>
参数: priority_queue<Type, Container, Functional>
Type数据类型 不可省
Container容器(vector,deque)默认vector
Functional比较方式,默认operator <大根堆
使用
与queue类似
小根堆
priority_queue<int, vector<int>, greater<int> > q;使用仿函数greater<>
自定义类型(struct)
1 | struct Node |
重载operator <
1 | bool operator < (Node a, Node b) |
x值大的优先级低,排在队前
x相等,y大的优先级低
重写仿函数
1 | struct cmp |
Cpp算法-STL标准库