C++ 中的向量(vector
C++中的一种动态数组是vector (vector)。 
 
矢量(vector —它是一个已经是动态数组模型的数据结构。

C++ 中的普通数组没有任何特殊的函数和方法来处理它们。 C++ 中的向量是包含更多用于处理元素的附加函数的数据结构。
 
创建一个向量
#include <向量>; ... 主函数() { // 包含 10 个元素的整数向量 v​​ 的声明  向量<整数>五(10);     // 与零初始值相同(向量 v1)  向量<整数> v1(10, 0); ...  
向量填充
方法一
我们为第 n 个元素分配内存,并通过从键盘读取它们来填充它们。
  国际; 辛>>名词; 矢量 a(n); for (int i = 0; i < n; i++) 辛>> a[i];
方法二
当元素个数未知时需要第二种方法。首先,创建一个空向量,然后使用 push_back() 方法,将一个新元素添加到向量的末尾。
  国际; 辛>>名词; 矢量一个; for (int i = 0; i < n; i++) { 积分; 辛>> b; a.push_back(b); }
向量大小
int b = a.size();

迭代器
迭代容器 (数据结构)中的元素的一种方法是迭代器迭代器), 有多种类型。
 
Iterator - “laquo;表示”的数据结构;在某些容器元素上,并且(对于某些容器)可以导航到上一个/下一个元素。

vector使用了最强大的- random-access iterator(random-access Iterator)。 除了顺序移动之外,随机访问迭代器还可以访问向量的任意元素。

迭代器的好处
1) 在删除元素和使用索引([])迭代元素时,我们需要一直跟踪剩余元素的数量,以免超出向量,而使用迭代器,您可以使用end()< /code>表示vector的结束。
2) 使用迭代器,您可以轻松地动态删除和插入向量中的元素。 
 
迭代器声明
1) 声明一个整数向量的迭代器并将其指向向量中的 first 元素。 向量<整数>我的向量 = { 1, 2, 3, 4, 5 }; vector ::iterator it = myvector.begin();
2) 声明一个整数向量的迭代器,并将其指向向量中 last  之后的元素。 向量<整数>我的向量 = { 1, 2, 3, 4, 5 }; vector ::iterator it = myvector.end(); // 指向最后一个之后的元素, vector ::iterator it1 = myvector.end() - 1 ; // 指向最后一个元素。  
获取并显示一个值
获取并显示迭代器指向的元素。 输出 << *它;  
移动迭代器位置
将迭代器位置向前移动 3 个位置。 <前> 提前(它,3);  
从现有迭代器创建新迭代器
在现有迭代器的基础上创建一个新的迭代器,前进 3 个位置。 auto it1 = next(it, 3);  
使用迭代器显示向量值
vector::iterator it; 对于 (it = myvector.begin(); it != myvector.end(); ++it) {   cout<<*它<<" ";  }
向量遍历
为了从最后一个元素到第一个元素遍历向量,使用了一个反向迭代器 reverse_iterator,它通过以下方式获得:
1) rbegin() - 返回一个指向向量最后一个元素的反向迭代器,应用++操作导致过渡到前一个元素;
2) rend() -  返回一个指向vector前一个元素的反向迭代器,++操作的应用导致转换 到下一个。 vector::reverse_iterator it = myvector.rbegin();  // 指向最后一个元素 vector::reverse_iterator it = myvector.rend();    // 指向一个元素,   // 在第一个之前,