目录
一、vector概念
二、常用迭代器遍历vector
1、只读迭代器遍历vector
2、读写迭代器遍历vector
三、vector常用的成员函数接口
1、vector构造函数
2、vector赋值
3、vector添加元素
4、vector删除元素
5、vector迭代器接口使用
6、vector大小操作接口
四、完整代码
vector是一个单端动态数组的顺序容器,支持存放任意类型的数据。
1、数据元素必须按照严格的线性顺序进行排序,可以通过元素在vector中的位置访问相应的元素。这一点与常用的原生数组一样,通过下标vec[i]进行访问,此外还提供vec.at(i)接口进行访问等;
2、vector提供在末尾处快速插入和删除元素的接口,还可以动态的去扩展vector的容量大小,这一点与原生数组不同。
对日常开发迭代器遍历容器,有分为只读迭代器vector<T>::const_iterator和读写迭代器vector<T>::iterator,两者用法一样。对于如何遍历,只需要记住v.begin()和v.end()两个函数接口即可,v.begin()指向首个元素,v.end()指向最后一个元素的下一个位置,这是一个[v.begin(), v.end())的区间:

vector的构造函数有四个构造函数:无参构造、带区间构造、N个相同元素构造和拷贝构造,用法也都很简单,需要注意的点:
带区间构造:参数是一个[v.begin(),v.end())的迭代器区间,只能取第一个元素,和最后一个元素,而无法取值到最后一个元素的下一位置。
(1)重载了operator =()赋值方式:直接利用等号进行赋值操作;
(2)assign的重载函数赋值:利用assign的重载,进行区间元素的赋值或者N个相同元素的赋值操作,以下是assign的函数原型
void assign(const_iterator first,const_iterator last);
void assign(size_type n,const T& x = T());

vector添加元素或者插入元素的方式挺多,就介绍其中几种常用的:
(1)利用push_back()进行尾插操作
(2)利用insert()在某个迭代器指向的元素前插入一个元素、N个相同的元素或者一个区间元素;
(1)利用pop_back()进行尾删,删除最后一个元素;
(2)利用clear()进行容器的清空元素的操作;
(3)利用erase()删除某个迭代器指向的元素,或者一个区间的元素,当区间为[v.begin(),v.end())时,等同于clear()清空操作;
(1)vec.empty():判断vec容器是否为空,为空则返回true,反之false;
(2)vec.size():返回vec容器的元素个数;
(3)vec.capacity:返回vec容器当前的容量大小;
(4)vec.resize(n_size):若n_size大于原来的元素个数,数据类型为int,则默认以0填充,若n_size小于原来的元素个数,则舍弃之后所有的元素;
(5)vec.resize(n_size, n_value):resize的重载函数,若n_size大于原来的元素个数,则以n_value的值填充多出的元素。
1、CppVector.h
2、CppVector.cpp

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/138137.html