capacity返回vector能容纳的元素最大数量。如果插入元素时,元素个数超过capacity,需要重新配置内部存储器
|
vector<T> c |
产生空的vector |
|
vector<T> c1(c2) |
产生同类型的c1,并将复制c2的所有元素 |
|
vector<T> c(n) |
利用类型T的默认构造函数和拷贝构造函数生成一个大小为n的vector |
|
vector<T> c(n,e) |
产生一个大小为n的vector,每个元素都是e |
|
vector<T> c(beg,end) |
产生一个vector,以区间[beg,end]为元素初值 |
|
~vector<T>() |
销毁所有元素并释放内存。 |
|
操作 |
效果 |
|
c.size() |
返回元素个数 |
|
c.empty() |
判断容器是否为空 |
|
c.max_size() |
返回元素最大可能数量(固定值) |
|
c.capacity() |
返回重新分配空间前可容纳的最大元素数量 |
|
c.reserve(n) |
扩大容量为n |
|
c1==c2 |
判断c1是否等于c2 |
|
c1!=c2 |
判断c1是否不等于c2 |
|
c1<c2 |
判断c1是否小于c2 |
|
c1>c2 |
判断c1是否大于c2 |
|
c1<=c2 |
判断c1是否大于等于c2 |
|
c1>=c2 |
判断c1是否小于等于c2 |
|
操作 |
效果 |
|
c1 = c2 |
将c2的全部元素赋值给c1 |
|
c.assign(n,e) |
将元素e的n个拷贝赋值给c |
|
c.assign(beg,end) |
将区间[beg,end]的元素赋值给c |
|
c1.swap(c2) |
将c1和c2元素互换 |
|
swap(c1,c2) |
同上,全局函数 |
|
操作 |
效果 |
|
|
at(idx) |
返回索引idx所标识的元素的引用,进行越界检查 |
|
|
operator [](idx) |
返回索引idx所标识的元素的引用,不进行越界检查 |
|
|
front() |
返回第一个元素的引用,不检查元素是否存在 |
|
|
back() |
返回最后一个元素的引用,不检查元素是否存在 |
|
|
c.insert(pos,e) |
在pos位置插入元素e的副本,并返回新元素位置 |
|
c.insert(pos,n,e) |
在pos位置插入n个元素e的副本 |
|
c.insert(pos,beg,end) |
在pos位置插入区间[beg,end]内所有元素的副本 |
|
c.push_back(e) |
在尾部添加一个元素e的副本 |
|
操作 |
效果 |
|
c.pop_back() |
移除最后一个元素但不返回最后一个元素 |
|
c.erase(pos) |
删除pos位置的元素,返回下一个元素的位置 |
|
c.erase(beg,end) |
删除区间[beg,end]内所有元素,返回下一个元素的位置 |
|
c.clear() |
移除所有元素,清空容器 |
|
c.resize(num) |
将元素数量改为num(增加的元素用defalut构造函数产生,多余的元素被删除) |
|
c.resize(num,e) |
将元素数量改为num(增加的元素是e的副本) |
|
操作 |
效果 |
|
map c |
产生空的map |
|
map c1(c2) |
产生同类型的c1,并复制c2的所有元素 |
|
map c(op) |
以op为排序准则产生一个空的map |
|
map c(beg,end) |
以区间[beg,end]内的元素产生一个map |
|
map c(beg,end,op) |
以op为排序准则,以区间[beg,end]内的元素产生一个map |
|
~ map() |
销毁所有元素并释放内存。 |
|
操作 |
效果 |
|
c.size() |
返回元素个数 |
|
c.empty() |
判断容器是否为空 |
|
c.max_size() |
返回元素最大可能数量 |
|
c1==c2 |
判断c1是否等于c2 |
|
c1!=c2 |
判断c1是否不等于c2 |
|
c1<c2 |
判断c1是否小于c2 |
|
c1>c2 |
判断c1是否大于c2 |
|
c1<=c2 |
判断c1是否大于等于c2 |
|
c1>=c2 |
判断c1是否小于等于c2 |
|
操作 |
效果 |
|
count(key) |
返回”键值等于key”的元素个数 |
|
find(key) |
返回”键值等于key”的第一个元素,找不到返回end |
|
lower_bound(key) |
返回”键值大于等于key”的第一个元素 |
|
upper_bound(key) |
返回”键值大于key”的第一个元素 |
|
equal_range(key) |
返回”键值等于key”的元素区间 |
|
begin() |
返回一个双向迭代器,指向第一个元素 |
|
end() |
返回一个双向迭代器,指向最后一个元素之后 |
|
rbegin() |
返回一个逆向迭代器,指向逆向遍历的第一个元素 |
|
rend() |
返回一个逆向迭代器,指向逆向遍历的最后一个元素 |
|
操作 |
效果 |
|
c.insert(pos,e) |
在pos位置为起点插入e的副本,并返回新元素位置(插入速度取决于pos) |
|
c.insert(e) |
插入e的副本,并返回新元素位置 |
|
c.insert(beg,end) |
将区间[beg,end]内所有元素的副本插入到c中 |
|
操作 |
效果 |
|
c.erase(pos) |
删除迭代器pos所指位置的元素,无返回值 |
|
c.erase(val) |
移除所有值为val的元素,返回移除元素个数 |
|
c.erase(beg,end) |
删除区间[beg,end]内所有元素,无返回值 |
|
c.clear() |
移除所有元素,清空容器 |