vector:
- v(n,ele) : 创建长度n,并且全部初始化为ele(只有在创建时可以vector< type > xx (n,ele))
- v(v1) : 拷贝v1
- v.resize(n,val) : 重新设置长度,并每个填上val值(可选),若超出capacity,自动内存分配
list:
- l.push_front(ele):ele压入头
- l.pop_front():移除头元素
- l.sort():将元素按升序排列
- l.merge(l2):将l2合并到l,l2变空
- l.reverse():反转本列表
- l.remove(ele):删除与ele相等给的元素
- l.splice(posi,l2):将l2元素移至posi处,l2变空
deque:
- d.push_front():ele压入头
- d.pop_front():移除头元素
set:
- s.insert(ele):插入ele
map:
- m[key] : 返回key的value
- m.find(key) : 返回key所在的iterator
stack:
- s.push(ele):压入ele
- s.pop()
- s.top():返回顶部元素不删除
queue:
- q.push(ele):压入ele
- q.pop()
- q.front():返回首元素不删除
- q.back():返回尾元素不删除
vector、list、deque共有:
- c.push_back(ele) : 末尾压入ele
- c.pop_back() : 移除最后一个元素
- c.assign(n,ele):删除原有元素,加入n个ele
- c.assign(begin,end):将begin~end-1元素赋给c //一般用于数组赋值给c
- c.inert(posi,ele):在posi位置插入ele,posi为迭代器 //迭代器失效
- c.front():返回首元素
- c.back():返回尾元素
(multi)set、(multi)map共有:默认<排序
- c.find(key):搜索具有key的元素,返回迭代器,没找到返回最后元素的后一个
- c.lower_bound(key):返回key第一个的迭代器
- c.upper_bound(key):返回key最后一个的后面一个迭代器
- c.count(key):返回key的数量
- c.erase(key):删除所有key元素
vector、list、deque、(multi)set、(multi)map 共有:
- c1.swap(c1) : 交换两个容器内容
- c.max_size():返回一个容器可以容纳的最大元素数量
- c.clear():删除所有元素
- c.begin():返回容器首元素迭代器
- c.end():返回容器尾元素之后位置的迭代器
- c.rbegin():返回容器尾元素的迭代器
- c.rend():返回容器首元素之前的迭代器
- c.erase(begin,end):删除begin~end-1元素,begin和end都是迭代器 //迭代器失效
所有容器共有:
- c.empty():若为空则返回true
- c.size():返回元素数量
- c1=c2:将c2拷贝到c1
- 遍历:
for(auto it=c.begin(); it!=c.end(); it++)
cout << *it << endl;
//it->first it->second!!!!