C++线性序列容器<vector>简单总结
2016-08-18 09:42
211 查看
C++线性序列容器<vector>简单总结
vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加;Vector类提供额外的方法来增加、删除元素,比数组操作高效。头文件:#include <vector>
命名空间:using namespace std:vector
构造函数
vector<int>vec_int; // 创建一个整形元素的vectorvector<string>vec_string; // 创建一个string元素的vector
vector<Mystruct>vec_Mystruct; // 创建一个元素是结构的vector
基本维护操作
1.访问
下标访问和at()两种方式,推荐第二种方法,它会进行边界检查。vec_int[1], vec_int.at(1); // 访问索引为1的元素,第2个元素
int size() const; // 返回向量中的元素个数
bool empty() const; // 判断向量是否为空,true为空,false为不空
reference back( ); // 返回向量的最后一个元素的引用,可以被修改
reference front( ); // 返回向量的第一个元素的引用,可以被修改
2.添加
void push_back(const T& Val); ; // 在vector末尾处添加一个元素。3.删除
void pop_back( ); // 删除向量末尾处的元素。void clear(); // 清除向量中的所有元素
4.插入
void insert(iterator it, int count, T& value); // 在迭代器的位置插入指定count数量的value值,count参数可选,默认为15.遍历
常用的使用迭代器遍历,也非常方便;iterator begin(); // 返回向量的第一个元素的迭代器
iterator end( ); // 返回向量的最后一个元素的迭代器
遍历方法:
for (vector<int>::iterator vec_it = vec_int.begin(); vec_it != vec_int.end(); vec_it++) { cout << *vec_it << endl; }
成员函数
assign | 清除矢量并将指定的元素复制到该空矢量。 |
at | 返回对矢量中指定位置的元素的引用。 |
back | 返回对向量中最后一个元素的引用。 |
begin | 对该向量中第一个元素返回随机访问迭代器。 |
capacity | 返回在不分配更多的存储的情况下向量可以包含的元素数。 |
cbegin | 返回指向向量中第一个元素的随机访问常量迭代器。 |
cend | 返回一个随机访问常量迭代器,它指向刚超过矢量末尾的位置。 |
crbegin | 返回一个指向反向矢量中第一个元素的常量迭代器。 |
crend | 返回一个指向反向矢量末尾的常量迭代器。 |
clear | 清除向量的元素。 |
data | 返回指向向量中第一个元素的指针。 |
emplace | 将就地构造的元素插入到指定位置的向量中。 |
emplace_back | 将一个就地构造的元素添加到向量末尾。 |
empty | 测试矢量容器是否为空。 |
end | 返回指向矢量末尾的随机访问迭代器。 |
erase | 从指定位置删除向量中的一个元素或一系列元素。 |
front | 返回对向量中第一个元素的引用。 |
get_allocator | 将对象返回到矢量使用的 allocator 类。 |
insert | 将一个元素或多个元素插入到指定位置的向量中。 |
max_size | 返回向量的最大长度。 |
pop_back | 删除矢量末尾处的元素。 |
push_back | 在矢量末尾处添加一个元素。 |
rbegin | 返回指向反向向量中第一个元素的迭代器。 |
rend | 返回一个指向反向矢量末尾的迭代器。 |
reserve | 保留向量对象的最小存储长度。 |
resize | 为矢量指定新的大小。 |
shrink_to_fit | 放弃额外容量。 |
size | 返回vector元素个数 |
swap | 交换两个向量的元素。 |
相关文章推荐
- [引]SQLServer和Access、Excel数据传输简单总结
- [数据库]简单SQL语句总结
- Java1.5语言新特性简单总结
- H.264简单总结
- java中调用SQLite的简单经验总结!
- 一个简单的总结
- 简单实用的DataSet更新数据库的类+总结(c#) 选择自 allen_21229 的 Blog
- PHP学习使用资源简单总结
- H.264简单总结
- [数据库]简单SQL语句总结
- SQLServer和Access、Excel数据传输简单总结
- Java1.5语言新特性简单总结
- 简单地总结一下未来一年需要做的事
- 图像处理中小球的识别(简单总结)
- 简单SQL语句总结
- [数据库]简单SQL语句总结
- [引]SQLServer和Access、Excel数据传输简单总结 选择自 xdev 的 Blog
- 简单总结一下这几个月的活动吧。公司春游活动,参观怀柔影视城。
- SQLServer和Access、Excel数据传输简单总结--青蛙非王子(lostfrog)
- SQLServer和Access、Excel数据传输简单总结