[C++]Vectorの使い方

標準テンプレートライブラリの配列vectorについてメモを残します。

vectorとは

vectorは、配列として使います。

要素を格納するためのメモリが足りない場合に、自動的にメモリを確保します。

そのため、通常の配列と違ってサイズを気にする必要がありません。

vectorは、配列の要素を宣言する必要がため便利です。

vectorをincludeする

名前空間はstdを使うので、
using namespace std;

特に、理由がなければ、using namespace std;は定義しておきましょう。

名前空間を使用しない場合は、std::vectorとしなければなりません。

#import <vector>

using namespace std;

vectorを使ってみる

vector配列の宣言

vector <int> a;</code>

vectorクラスで、型、変数名の順で定義します。

初期化して、宣言することもできます。

#宣言1
vector <int> a;

#宣言2 要素数を指定
vector <int> a(4);

#宣言3 初期化
vector <int> a={1,2,3,4};
#または
vector <int> a{1,2,3,4};

.push_back()-最後に要素の追加

要素を入れ込むには、
.push_back(要素)
を使います。

a.push_back(100);

.pop_back()-最後の要素の削除

要素を削除には、
.pop_back(要素)
を使います。

a.pop_back();

.insert()-要素を中間に挿入

要素を中間に挿入するには、
.insert()
を使います。

iteratorを使用して、要素の位置を指定します。

vector<int>::iterator p = a.begin();

a.insert(挿入する位置iterator, 挿入する個数, 挿入する数);

もしくは、

a.insert(挿入する位置iterator, 挿入する数);

.erase()-ある位置の要素を削除する

指定した位置の要素を削除するには
a.erase()
を使います。

vector<int>::iterator p = a.begin();

a.erase(削除する位置iterator);

もしくは、

a.erase(削除する位置の始めiterator, 削除する位置の終わりiterator);

.front()-最初の要素を参照

a.front();

.back()-最後の要素を参照

a.back();

.size()-サイズを参照

a.size();

.clear()-空にする

Vector配列を空にする。

a.clear("サイズ");

.resize()-サイズを変更

a.resize("サイズ");

.empty()-配列が空かどうか調べる

空であった場合、1を返します。
空でなかった場合は、0を返します。

a.empty();

iterator

iteratorは、vectorの1要素を指す。

vector <int> a;
    for (int i= 0; i < 10; i++){
        a.push_back(i+1);
    }
    
    cout << "iterator" << endl;
    
    vector<int>::iterator itr_first, itr_last, i;
    itr_first = a.begin();
    itr_last = a.end();
    
    for(i = itr_first; i != itr_last; i++){
        cout << *i << endl;
        
    }

参考書