自己综合了一些大佬的代码,做个笔记。
其实就是复习一下。。。
#include <bits/stdc++.h>
using namespace std;
//序列式容器(类数组)
#include <vector>
// 定义 初始化
vector<int> v; // 默认初始化
vector<int> v(v1); // 用v1初始化v
vector<int> v(v1.begin(), v1.end()); // 用v1初始化v
vector<int> v(10); // 定义一个大小为10的数组!
vector<int> v(10,1); // 定义个全为1而且长度为10的数组
// 方法
v.front(); // 首元素
v.back(); // 尾元素
v.begin(); // 头指针
v.end(); // 尾指针+1
v.rend(); // begin-1
v.rbegin(); // end-1
v.push_back(); // 尾增
v.pop_back(); // 尾删
v.size(); // 长度
v.empty(); // 判空
v.clear(); // 清空
v.insert();
v.insert(p, t); // 将t插到p的前面
v.insert(p, n, t); // 将n个t插入p之前
v.insert(p, i, j); // 将区间[i,j)的元素插入到p之前
v.erase(t,k);
v.erase(t, k); // 删除他们之间的元素
v.erase(p); // 删除p指向的元素
// 遍历
for(int i = 0; i < v.size(); i++) // 下标法
cout << v[i];
vector <int>::const_iterator iterator = v.begin(); // 迭代器法
for(; iterator != v.end(); iterator++)
cout << *iterator;
#include <deque>
// 方法(较vector新增)
d.push_front(); // 头增
d.pop_front(); // 头删
#include <list>
// 方法(新增)
l.sort(); // 排序,O(nlogn)
merge(list<T,Alloc>&x); // 将x放入T中合并,x为空
remove(const T &val); // 删除val的所有元素
l.splice(iterator pos, list<T,Alloc>x); // 将x的内容加到pos的前面
l.unique(); // 去重
// 适配器容器
#include <stack>
// 创建
stack<int> values; // 默认基础容器 deque
stack<string, list<int>> values; // 修改基础容器为 vector、deque、list
list<int> values {1, 2, 3}; // 用基础容器来初始化 stack 适配器
stack<int, list<int>> my_stack (values);
// 方法
s.empty(); // 判空
s.size(); // 长度
s.pop(); // 删除栈顶
s.top(); // 返回栈顶
s.push(item); // 压入新元素
#include <queue>
// 创建
queue<int> values; // 默认基础容器 deque
queue<int, list<int>> values; // 修改基础容器为 deque、list
deque<int> values{1,2,3}; // 用基础容器来初始化 queue 适配器
queue<int> my_queue(values);
// 方法
q.empty(); // 判空
q.size(); // 长度
q.push(item); // 队尾压入新元素
q.front(); // 返回队首元素
q.back(); // 返回队尾元素
q.top(); // 返回具有最高优先级的元素
// 关联式容器
#include <set>
// 创建
set<string> myset;
set<string> myset{"abc", "defg", "hijk"};
set<string> copyset(myset); // 复制原有set
// 方法
s.size();
s.empty();
s.clear();
s.begin();
s.end();
s.insert();
s.find(); // 查找
s.count(); // 统计
s.erase();
#include <map>
// 创建
map<string, int> mymap;
map<string, int> mymap{ {"set",1},{"map",2} };
map<string, int> newmap(mymap);
// 方法
m.size();
m.empty();
m.clear();
m.begin();
m.end();
m.insert();
m.erase();
m.find();
总览
图片来自c语言中文网
####%%%%
太强了
如有谬误之处,还请指正。