常用的STL容器
vector,变长数组,倍增的思想
size()返回元素个数
empty()返回是否为空
clear()清空
front()/back()
push_back()/pop_back()
begin()/end()
string,字符串,substr(),c-str()
queue,队列,push(),什。nt(),四p()
priority_queue,优先队列,push(),top(),pop()
stack,栈,push(),top(),pop()
deque,双端队列
set,map,multiset,multimap,基于平衡二叉树(红黑树),动态维护有序序列
unorderedset,unordered_map,unor、deredmultiset,unorderedmultimap,哈希表
bitset,压位
vector具体使用
头文件:
#include <vector>
初始化:
① vector<int> a;
② vector<int> a(10);
定义了一个长度为10的变长数组a
③vector<int> a(10, 1);
定义了一个长度为10的变长数组a,且a的每个数都为1
④vector<int> a[10];
定义了一个 10个vector 的数组a;
vecotr支持的函数
a.size(); // 返回a中元素的个数 时间复杂度:O(1)
a.empty(); // 判断a是否为空 时间复杂度:O(1)
a.clear(); // 清空a
a.front()/.back(); // 返回a的 第一个 / 最后一个 元素
a.push_back()/pop_back(); // 向a的最后插入一个数 / 把a的最后一个数删掉
a.begin()/end() // vector a 的迭代器
// begin()是a的第0个数,end()是a的最后一个数的后面一个数
vector黑科技
支持比较运算(<,>,=,!=,<=,>=)
to be continued