C++ のベクトル (vector)
C++ の動的配列の 1 つは、vector (vector) です。
 
ベクター (vector) —これは、すでに動的配列のモデルとなっているデータ構造です。

C++ の通常の配列には、それを操作するための特別な関数やメソッドはありません。C++ のベクトルは、要素を操作するための追加関数を含むデータ構造です。
 
ベクターの作成
#include <ベクトル> ... int main() { // 10 要素の整数ベクトル v の宣言  ベクトル ; v(10);     // 初期値ゼロでも同様(ベクターv1)  ベクトル ; v1(10, 0); ...  
ベクトルパディング
方法 1
n 番目の要素にメモリを割り当て、キーボードから読み取って要素を埋めます。
  intn; シン>> n; ベクトル a(n); for (int i = 0; i < n; i++) シン>> a[i];
方法 2
2 番目の方法は、要素の数が不明な場合に必要になります。まず、空のベクターが作成され、次に push_back() メソッドを使用して、新しい要素がベクターの末尾に追加されます。
  intn; シン>> n; ベクトルa; for (int i = 0; i < n; i++) { intb; シン>> b; a.push_back(b); }
ベクトルサイズ
int b = a.size();

イテレータ
コンテナ(データ構造)内の要素を反復処理する 1 つの方法は、イテレータイテレータ), これにはいくつかの種類があります。
 
反復子 - «が示すデータ構造» ;一部のコンテナ要素で、(一部のコンテナでは) 前/次の要素に移動できます。

ベクトルは最も強力な - random-access iterator(random-access Iterator) を使用します。ランダム アクセス イテレータは、順次移動に加えて、ベクトルの任意の要素にアクセスできます。

イテレータの利点
1) 要素を削除し、インデックス ([]) を使用して要素を反復する場合、ベクトルを超えないように、残りの要素の数を常に追跡する必要があり、反復子を使用すると、ベクトルの終わりを示す end()< /code> を使用できます。
2) イテレータを使用すると、ベクター内の要素を動的に削除および挿入することが簡単にできます。 
 
イテレータ宣言
1) 整数ベクトルの反復子を宣言し、それをベクトルの 最初の 要素にポイントします。 ベクトル ; myvector = { 1, 2, 3, 4, 5 }; vector <int>::iterator it = myvector.begin();
2) 整数ベクトルのイテレータを宣言し、ベクトル内の最後の の後の要素を指すようにします。 ベクトル ; myvector = { 1, 2, 3, 4, 5 }; vector <int>::iterator it = myvector.end(); // 最後の要素の後の要素を指し、 vector <int>::iterator it1 = myvector.end() - 1 ; // 最後の要素を指しています。  
値の取得と表示
イテレータが指す要素を取得して表示します。 cout << *それ;  
イテレータの位置を移動
イテレータの位置を 3 つ前に移動します。 <プレ> 前進(それ、3);  
既存の反復子から新しい反復子を作成する
既存の反復子に基づいて新しい反復子を作成し、3 桁進めます。 auto it1 = next(それ, 3);  
イテレータを使用したベクトル値の表示
vector<int>::イテレータ it; for (それ = myvector.begin(); それ != myvector.end(); ++it) {   cout<<*it<<" ";  }
ベクトル トラバーサル
最後の要素から最初の要素までベクトルをたどるには、逆反復子 reverse_iterator が使用されます。これは次のように取得されます:
1) rbegin() - ベクトルの最後の要素を指す逆反復子を返し、++ 操作を適用すると、前の要素に遷移します。
2) rend() -  ベクトルの前の要素を指す逆反復子を返します。++ 操作を適用すると、遷移が発生します 次へ。 vector<int>::reverse_iterator it = myvector.rbegin();  // 最後の要素を指す vector<int>::reverse_iterator it = myvector.rend();    // 要素を指し、   // 最初のものの前に来て、