1.#include <vector>
声明
size/empty
clear
迭代器(就是vector的指针)
begin/end(返回值是地址)
下面两份代码都遍历了vector\<int>a,并输出它的所有元素。
for (int I = 0; I < a.size(); I ++)
cout << a[i] << endl;
for (vector<int>::iterator it = a.begin(); it != a.end(); it ++)
cout << *it << endl;
front/back(返回值是元素)
push_back() 和 pop_back()(都是在尾部操作)
a.push_back(x) 把元素x插入到vector a的尾部。b.pop_back() 删除vector a的最后一个元素。
2.#include <queue>
声明
queue<int> q;
struct rec { … }; queue<rec> q; //结构体rec中必须定义小于号
priority_queue<int> q; // 大根堆
priority_queue<int, vector<int>, greater<int> q; // 小根堆
priority_queue<pair<int, int>>q;
queue存取、插入和删除操作
push(elem);//往队尾添加元素
pop();//从队头移除第一个元素
back();//返回最后一个元素
front();//返回第一个元素
queue大小操作
empty();//判断队列是否为空
size();//返回队列的大小
优先队列 priority_queue
push 把元素插入堆
pop 删除堆顶元素
top 查询堆顶元素(最大值)
3.#include <stack>
头文件stack包含栈。声明和前面的容器类似。
push 向栈顶插入
pop 弹出栈顶元素
4.#include <deque>
begin/end\front/back\push_back
push_front\pop_back\pop_front\clear
begin/end,返回deque的头/尾迭代器
front/back 队头/队尾元素
push_back 从队尾入队
push_front 从队头入队
pop_back 从队尾出队
pop_front 从队头出队
clear 清空队列
5.#include <set>
声明
set<int> s;
struct rec{…}; set<rec> s; // 结构体rec中必须定义小于号
multiset<double> s;
size/empty/clear
与vector类似
迭代器(用于遍历)
begin/end
insert(按顺序插入)
find(返回值是地址)
lower_bound/upper_bound
erase
count
6.#include
声明
size/empty/clear/begin/end均与set类似。