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; }