#vector の使い方の詳細説明
vector は C STL の重要なメンバーです。ヘッダーファイル:#include<vector>;
C Tutorial"
(1 ) Vector(2)a.assign(4,2); //A には 4 つの要素しか含まれず、各要素は 2 (3)a.back(); // a を返す # の最後の要素
## (4) a.front(); // a
(5)a[i]; // 要素の i 番目の要素を返します (必要に応じて) if a[i]存在2013-12-07
(6)a.clear(); //a
内の要素をクリア (7)a.empty (); //かどうかを判定a は空です。空の場合は true を返し、空でない場合は false を返します。
(8) a.pop_back(); //ベクトルの最後の要素を削除します
(9) a.erase(a.begin() 1,a.begin() 3); //a の 1 番目 (0 番目から) から 2 番目の要素を削除、つまり a から要素数を削除します。 .begin() 1 (含む) ~ a.begin() 3 (除く)
(10) a.push_back(5); //a の最後にベクトルの後に要素を挿入、その値は 5
(11) a.insert(a.begin() 1,5); //a の最初の要素 (0 番目から数えて) の位置に値 5 を挿入します。たとえば、a は 1,2,3,4 で、要素を挿入すると 1,5,2,3,4
になります (12) a.insert(a.begin() 1, 3) ,5); //aの最初の要素の位置に数字を3つ挿入(0番目から数えて)、その値はすべて5
(13) a.insert(a.begin) () 1,b 3,b 6); //b が配列の場合、b (b を除く) の 3 番目の要素から 5 番目の要素を、a の 1 番目の要素の位置 (0 番目から数えて) に挿入します 6), if b は 1,2,3,4,5,9,8 で、要素を挿入すると 1,4,5,9,2,3,4,5,9,8
( 14) a.size(); // a の要素数を返す;
(15) a.capacity(); // a がメモリに収容できる要素の総数を返す
(16) a.resize(10); // a の既存の要素数を 10 に調整し、より多くの要素を削除し、より少ない要素を埋めると、値はランダムになります
(17 ) a.size(10,2); //a の既存の要素数を 10 に調整し、より多くの要素を削除し、より少ない要素を埋めます。値は 2
(18) a.reserve( 100); // a の容量を 100 に拡張します。これは、a.capacity(); をテストするときの戻り値が 100 になることを意味します。この操作は、大量のデータを a に追加する必要がある場合にのみ意味を持ちます。これにより、複数回のメモリ容量の拡張操作が回避されます (a の容量が不足するとコンピュータは自動的に拡張しますが、当然パフォーマンスの低下は避けられません)
(19) a.swap(b); //bはベクトル、a の要素と b の要素は全体として交換されます
(20) a==b; //b はベクトル、ベクトルの比較演算は !=, >=,<=, >,<
3. ベクトルに順番にアクセスするいくつかの方法例は次のとおりです:
(1) 要素をベクトルに追加します。
vector<int> a; for(int i=0;i<10;i++) a.push_back(i);
#int a[6]={1,2,3,4,5,6};
vector
for(int i=1;i<=4;i )
b.push_back(a[i]);
3. 既存のベクトルから要素を選択することもできます。 Add
int a[6]={1,2,3,4,5,6};
vector
vector< ベクトル int> c(a,a 4);
for(vector b .push_back(*it); 4. ファイルから要素を読み取って、ベクターに 5 を追加することもできます。 ] (2) ベクトル内の要素の読み取りから 1. 添え字の読み取り 2. トラバーサーの読み取り 4. いくつかの重要なアルゴリズムを使用してください ヘッダー ファイルをインクルードする必要があります: ifstream in("data.txt");
vector<int> a;
for(int i; in>>i)
a.push_back(i);
vector<int> a;
for(int i=0;i<10;i++)
a[i]=i;
//这种做法以及类似的做法都是错误的。刚开始我也犯过这种错误,后来发现,下标只能用于获取已存在的元素,而现在的a[i]还是空的对象
int a[6]={1,2,3,4,5,6};
vector<int> b(a,a+4);
for(int i=0;i<=b.size()-1;i++)
cout<<b[i]<<" ";
int a[6]={1,2,3,4,5,6};
vector<int> b(a,a+4);
for(vector<int>::iterator it=b.begin();it!=b.end();it++)
cout<<*it<<" ";
#include<algorithm>
(1) sort(a.begin(),a.end()); // a.begin() (それを含む) からa. end() の要素 (それを除く) は、小さいものから大きいものへと配置されます。
(2)reverse(a.begin(),a.end()); // a 内の要素 a.begin() (それを含む) から a.end() (それを除く) について反転、たとえば、a の要素は 1,3,2,4 ですが、反転すると 4,2,3,1
(3) copy(a.begin(),a) .end( ),b.begin() 1); // a の要素を a.begin() (それを含む) から a.end() (それを除く) から b、b.begin() からコピーします1の位置(それも含む)をコピーし、元の要素を上書き
(4) find(a.begin(),a.end(),10); //a.からa.begin () (それを含む) は、a.end() の要素 (それを除く) で 10 を検索し、存在する場合は、ベクトル内のその位置を返します
以上がC++ ベクターの使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。