1.容器
<顺序容器>
array vector deque list
<关联容器>
set map multiset multimap
<无序关联容器>
unordered_set unordered_map unordered_multiset unordered_multimap
<容器适配器>
stack queue priority_queue
<字符串>
string
<对与元组>
pair tuple
2.1vector
//vector
//构造长度为100的vector数组
vector<int> vec(100);
//构造长度为100的vector数组初试值为1
vector<int> vec(100,1)
//构造100行不定列的二维数组
vector<vector<int>> mat(100,vector<int>()) ;
//构造100行666列初始值为1的二维数组
vector<vector<int>> mat(100,vector<int>(666,1));
//尾接,尾删
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.pop_back(3);
vec.pop_back(2);
//长度
cout << vec.size() << endl;
//清空,判空
bool flag = vec.empty();
vec.clear();
//修改长度
vec.resize(5);
//注意
//如果题目已经指定长度则初始时应提前指定长度,可以提高效率
2.2stack
//声明一个栈
stack<int> stk;
//进栈,出栈
stk.pop();
stk.push();
//取栈顶元素
int a = stk.top();
//判空,大小
bool flag = stk.empty();
int n = stk.size();
2.3queue
queue<int> que;
//进队列,出队列
que.push();
que.pop();
//队首,队尾
int a = que.front();
int b = que.back();
//优先队列prior_queue
//适用情况:每次向队列插入大小不定的元素或每次取出最大或最小的元素