我的个人博客: 地址
vector(向量)
vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组。像数组一样,vector类也用从0开始的下标表示元素的位置;但和数组不同的是,当vector对象创建后,数组的元素个数会随着vector对象元素个数的增大和缩小而自动变化。
用法:
#include<vector>
using namespace std;
vector <int > a
int b = 5;
a.push_back(b); //该函数下面有详解
cout<<a[0]; //输出结果为5
函数 | 动作 |
---|---|
push_back | 在数组的最后添加一个数据 |
pop_back | 去掉数组的最后一个数据 |
at | 得到编号位置的数据 |
begin | 得到数组头的指针 |
end | 得到数组的最后一个单元+1的指针 |
front | 得到数组头的引用 |
back | 得到数组的最后一个单元的引用 |
max_size | 得到vector最大可以是多大 |
capacity | 当前vector分配的大小 |
size | 当前使用数据的大小 |
resize | 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值 |
reserve | 改变当前vecotr所分配空间的大小 |
erase | 删除指针指向的数据项 |
clear | 清空当前的vector |
rbegin | 将vector反转后的开始指针返回(其实就是原来的end-1) |
rend | 将vector反转构的结束指针返回(其实就是原来的begin-1) |
empty | 判断vector是否为空 |
swap | 与另一个vector交换数据 |
详细的函数实现功能 :
其中 vector <int> c
函数 | 动作 |
---|---|
c.clear() | 移除容器中所有元素。 |
c.empty() | 判断容器是否为空。 |
c.erase(pos) | 删除pos位置之后的一个元素 |
c.erase(begin,end) | 删除[begin,end)区间的元素 |
c.front() | 传回第一个元素 |
c.insert(pos,elem) | 在pos位置之后插入一个elem拷贝 |
c.pop_back() | 删除最后一个元素 |
c.push_back(elem) | 在尾部加入一个元素 |
c.resize(num) | 重新设置该容器的大小 |
c.size() | 回容器中元素的个数 |
c.begin() | 返回指向容器第一个元素的迭代器 |
c.end() | 返回指向容器最后一个元素的迭代器 |