C++ 벡터 사용에 대한 자세한 설명
Vector는 C++입니다. STL 중요 멤버, 사용 시 헤더 파일을 포함해야 합니다:
#include<vector>;
1. 벡터 초기화: 5가지 방법이 있으며 예는 다음과 같습니다:
권장 사항: "#🎜🎜 #C++Tutorial》
(1) vector# 🎜 🎜# (3)벡터
(4)벡터
(5) int b[7]={1 ,2,3 ,4,5,9,8};
vector
#🎜 🎜# (3)a.back(); //a
(4)a.front() //요소의 첫 번째 요소를 반환
#🎜 🎜# (5) a[i]; //a[i]가 존재하는 경우에만 a의 i번째 요소를 반환합니다. 2013-12-07 ( 6) a.clear( ); // a의 요소 지우기 (7) a.empty() // a가 비어 있는지 확인하고, 비어 있으면 true를 반환하고, 비어 있지 않으면 false를 반환합니다. 🎜#(8)a.pop_back(); //벡터 a의 마지막 요소 삭제
(9)a.erase(a.begin()+1,a .begin( )+3); //a의 첫 번째 요소(0부터 계산)를 삭제합니다. 즉, 삭제된 요소는 a.begin()+1(포함)부터 시작합니다. a.begin()+까지 3 (제외)
(10) a.push_back(5) // a의 마지막 벡터 뒤에 요소를 삽입합니다. 해당 값은 5# 🎜🎜#
(11) a.insert(a.begin()+1,5); //a의 첫 번째 요소 위치에 값 5를 삽입합니다(0번째부터 계산). 예를 들어 a는 1,2,3,4입니다. 요소를 삽입하면 1,5,2,3,4입니다. (12) a.insert(a.begin()+1,3,5) //3개의 숫자를 삽입합니다. a의 첫 번째 요소(0번째부터 계산)에서 해당 값은 모두 5 (13) a.insert(a.begin()+ 1,b+3,b+ 6); //b는 배열입니다. b가 1,2,3인 경우 a의 첫 번째 요소 위치(0부터 계산) +6)에 b의 5번째 요소(b 제외)에 세 번째 요소를 삽입합니다. ,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.resize(10,2); //a의 기존 요소 수를 10으로 조정하고 더 많은 요소를 삭제하고 더 적은 요소를 채웁니다.
#🎜🎜 # (18) 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);
#🎜 🎜#b.push_back(a[ i]);
3 기존 벡터에서 요소를 선택하여 벡터에 추가할 수도 있습니다.
int a[6]={ 1,2,3, 4,5,6};
Vector
Vector
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]还是空的对象
1. 아래 첨자
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]<<" ";
2를 통해 읽습니다.
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<<" ";
을 통해 읽습니다. 4. 몇 가지 중요한 알고리즘을 사용할 때 헤더 파일을 포함해야 합니다. it:
#include<algorithm>
(1) sort(a.begin(),a.end()); //a.begin()()을 포함하는 요소) to 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.begin()+1 위치에서 b로 복사합니다. (포함) 복사를 시작하고 원래 요소를 덮어씁니다.
(4) find(a.begin(),a.end(),10) //a.begin()(포함)에서 10개를 찾습니다. a.end()의 요소(제외), 존재하는 경우 벡터에서 해당 위치를 반환합니다
위 내용은 C++ 벡터 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!