C++STL学習ノート1--vector

3417 ワード

一.vector
ヘッダファイル#include
構築関数5つ:
 1.vectortest;
   test.push_back(element);

例:vectortest;
        test.push_back(1);
 2.vectortest(size);
例:vectortest(10);
       for(int i=0;i<10;i++)
    test.push_back(i);
 3.vectortest(size,element);
例:vectortest(10,10);
4.vectortest(a,a+n);
例:int a[5]={1,2,3,4,5};
       vectortest(a,a+5);
5.vectortest
コンストラクタのコピー
二、vectorが持つ操作:
1.要素を追加
   《1》void push_back(element);//elementは単純なタイプでもカスタムクラスでも構いません
例:test.push_back(1);//末尾に要素を追加
   《2》iterator insert(iterator it,type x);
戻りタイプは、iteratorで、反復器itの前に要素を追加します.
  《3》void insert(iterator it,int n,type x);
//反復器itの前にn個のxを追加する
《4》void insert(iterator it,const_iterator first,const_iterator last);
//反復器itの前に別の同じタイプのベクトルを区間[first,last)内に挿入する要素
2.関数の削除
 《1》iterator erase(iterator it);//反復器itが指す要素を削除する
例:vectortest;
test.push_back(1);
test.push_back(2);
test.push_back(3);
test.push_back(4);
test.erase(test.begin()+2);//3番目の要素を削除
《2》iterator erase(iterator first,iterator last);//区間[first,last)内の要素を削除する
 
例:vectortest;
test.push_back(1);
test.push_back(2);
test.push_back(3);
test.push_back(4);
test.erase(test.begin(),test.begin+2);//0~2個の要素を削除
《3》void pop_back();//ベクトルの最後の要素を削除
《4》void clear();//ベクトル内のすべての要素を削除
3判定が空か
 bool empty() const;//trueが空です
4判定ベクトルサイズ
 《1》int size() const;
例:vectortest;
test.push_back(1);
test.push_back(2);
test.push_back(3);
test.push_back(4);
int size=test.size();//ベクトル空間サイズの取得(Get Vector Space Size)
《2》int capacity const;//現在のベクトルが収容できる最大要素値を返します.
《3》int max_size() const;//最大許容vectorの数を返します
5.遍歴関数
 《1》reference at(int pos);//破損位置要素の参照を取得
例:vectortest;
test.push_back(1);
test.push_back(2);
test.push_back(3);
test.push_back(4);
for(int i=0;i<4;i++)
{
 int &nValue=test.at(i);
  cout<
}
《2》reference front();//先頭要素の参照を返します
 《3》reference back();//末尾要素の参照を返します
例:vectortest;
test.push_back(1);
test.push_back(2);
test.push_back(3);
test.push_back(4);
int &avalue=test.front();//イニシャル要素の参照を得る
int &bvalue=test.back();//末尾要素の参照を取得
《4》iterator begin();//ベクトルヘッダポインタを返す
《5》iterator end();ベクトルテールポインタの後ろのポインタを返し、end()-1は最後の要素を指します.
《6》reverse_iterator rbegin();//逆反復器、最後の要素ポインタ
 《7》reverse_iterator rend();//反響反復器、最初の要素の前のポインタ
6.交換クラス関数
 《1》void swap(vector&);//2つの同類ベクトルデータの交換
  《2》void assign(int n,const type x);//ベクトルのn番目の要素をxに設定
 《3》void assign(const_iterstor first,const_iterator last);//ベクトル内の[first,last]間の要素を現在のベクトル内の要素に設定
整理例:
 
 # include
 #include
 #include
 using namespace std;
 int main(int argc,char *argv[])
{
  vectortest;
for(int i=0;i<10;i++)
test.push_back(i);
 int size=test.size();
//以下は様々な方式の出力であり、3つの出力方式はベクトル要素を変える価値のある3つの方法を意味する.
int j=0;
for(j=0;j
cout<
cout<
for(j=0;j
{
int &value=test.at(j);
cout< }
cout<
 
vector::iterator it=test.begin();
while(it!=test.end()){
 
cout<
it++;
}
cout< return 0;
}