[C/C++] Vector STL
3528 ワード
Vector
:C++の標準テンプレートライブラリにあるコンテナ.これは、ユーザーがコンテナを簡単に使用できるclassです.Vectorは、要素を動的に追加し、自動的にサイズを大きくすることができます.効率に反して演算性能が低い.
Vectorの構成
front():最初の要素
back():最後の要素
begin():最初の場所
end():前の場所
size():要素数
Capacity():割り当てられたスペースサイズ
sizeとcapacityの違い
要素を追加するたびにvectorは新しいメモリ領域を割り当てます.容量が不足している場合は、容量/2を増やします.
Vectorの使い方
1.宣言
#include <vector>
//including vector headerfile
vector<int> v;
//int형 벡터 생성
vector<int> v={1, 2, 3};
//int형 벡터 생성 + 1, 2, 3으로 초기화
vector<int> v[10];
//int형 벡터 배열(크기:10) 생성
vector<int> v[] = {{ 1, 2}, {3, 4}};
//int형 벡터 생성 (행은 가변이지만 열은 고정)
vector<vector<int>> v;
//2차원 벡터 생성(행과 열 모두 가변)
vector<int> v(5);
//5개 원소를 0으로 초기화
vector<int> v(5, 3);
// 원소를 3으로 초기화
vector<int> v2(v);
//벡터 v를 복사해서 벡터 v2 생성 (복사 생성자)
2.Vectorへの値の追加
push_back(value)
v.insert(index, value)
v.push_back(10); //마지막 위치에 숫자 10 추가
vector<int>::iterator it = v.begin();
it = v.insert(it, 2); //맨앞에 2 삽입
it = v.insert(it, 2, 3); //맨앞에서 3을 2개 삽입
it = v.insert(it+2, 2, 4); //앞에서 2번째부터 4를 2개 삽입
ベクトルを使用する反復器とは?リピーター
:コンテナ内のすべての要素を全体的に参照するためのポインタに似たオブジェクトです.アルゴリズムによって異なる方法が使用されるため、重複文字も複数存在する.上記の例ではvector
3.Vectorから値を削除
v.pop back():ベクトルの末尾の値を削除します.
v.eraser(index,index):vectorのindexにある値を削除します.削除したら、後ろから1つ前に引いてください.
v.clear():すべての値を削除します.
4.Vectorのサイズ
v.size(); //vector의 원소 갯수
v.capacity(); //vector의 물리적 크기(메모리 할당량)
5.反復器を用いたVector出力
vector<int> v1;
for(int i=1; i<=5; i++) {
v1.push_back(i);
}
for(auto i=v1.begin(); i!=v1.end(); ++i){
cout << *i << " ";
Reference
この問題について([C/C++] Vector STL), 我々は、より多くの情報をここで見つけました https://velog.io/@skkukdh/CC-Vector-STLテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol