vector:
vecnum.clear();//清空元素,但不回收空间
vector<int>().swap(vec);//清除元素并回收内存
vector(10)未指定值默认未0;
优先级队列:
priority_queue
本质是堆实现。
priority_queue只能访问队列头部的信息
且插入元素后,会自动排序。
priority_queue<Type, Container, Functional>
Type :数据类型
Container :容器类型
Functional :比较的方式。默认大顶堆less
如:
priority_queue < int, vector, greater > a;
greater未小顶堆
emplace:
相比push_back,emplace_back的性能优势很明显,emplace_back通过减少内存移动和拷贝从而提升容器的插入性能。
在对vector的插入过程中,push_back方法构造了一次,移动了两次;使用emplace_back只进行了一次构造,没有进行内存的移动。
注意:
如果类或者结构体中没有提供构造函数,那么就不能使用emplace系列函数进行替换。
lower_bounder()
返回的迭代器指向第一个[大于等于]目标值的元素(以升序为例),
upper_bound()
返回的迭代器指向第一个 [大于]目标值的元素(以升序为例)。
binary_search
(row->begin(), row->end(), target); 二分查找target。
迭代器是箭头,数组是.