序列容器
deque支持随机访问
list模板类表示双向链表
list在链表中任一位置进行插入和删除的时间都是固定的。
list不支持数组表示法和随机访问。
list成员函数:
void merge(list<T, Alloc> &x)
void remove(const T& val)
void sort() // 快速插入的代价是放弃随机访问功能,所以不能将非成员函数sort()用于链表
void splice(iterator pos, list<T, Alloc>x) // 将链表x的内容插入到pos前面,x将为空
void unique() // 注意:将连续的相同元素压缩为单个元素
queue是一个适配器类,queue模板让底层类(默认为deque)展示典型的队列接口。
queue的限制比deque更多,不允许随机访问队列元素,甚至不允许遍历队列。
priority_queue是一个适配器类,支持操作与queue相同,最大元素被移到队首,默认底层类是vector。可以修改用于确定哪个元素放到队首的比较方式
priority_queue<int> pq1;
priority_queue<int, vector<int>, greater<int> > pq; \ 优先输出小数据
// 用 lambda 比较元素。
auto cmp = [](int left, int right) { return (left ^ 1) < (right ^ 1); };
std::pr