728x90

[ 목차 ] 1. vector의 기본 틀과 특징 2. vector 멤버 함수들 정리 3. 2차원 vector |
1. vector의 기본 틀과 특징
vector<[data type]>[변수이름]
ex) vector<int> v ;
vector<char>v;
vector<bool>v;
ex) vector<int>v(5) = {1,2,3,4,5};
- vector은 자동으로 메모리가 할당되는 배열이다. (배열 중에서 짱 쎈 배열 ! )
- 맨 뒤쪽에서 삽입과 삭제가 가능함. -> "v.push_back()" / "v.pop_back()" 함수를 사용함.
- #include <vector> 헤더파일을 추가해야함.
- vector은 변수 크기만큼 할당 할 수 있음.
ex) int num1;
cin>> num1;
* int arr[num]= {0}; -> 오류
vector<int> v(num); -> 가능
2. vector 멤버 함수들 정리
2-1. v.clear();
- 사이즈, 벡터자체를 클리어함. 즉 모든 원소를 제거함.
- 메모리는 남아있음.
2-2. v.push_back();
- 비어있는 마지막 원소 뒤에 원소를 삽입함. '뒤에서부터 밀어넣는다.'
ex) v.push_back(5);
v.push_back(2);
5 [0] |
2 [1] |
... |
2-3. v.pop_back();
- 마지막 원소를 지운다.
ex) v.pop_back();
5 [0] |
... |
2-4. v.erase(첫번째 주소, 마지막 주소);
- 특정 값을 지움.
2-5. v.insert(2,3,4);
- 2번째 위치에 3개의 4값을 삽입함.
2-6. v.insert(2,3);
- 2번째 위치에 3의 값을 삽입함.
- 삽입한 곳의 iterator을 반환함.
2-7. sort 함수
sort(v.begin(), v.end()); // vector 의 경우
sort(arr, arr+10); // 배열의 경우(배열의 크기가 10일때)
- 사용 시에 헤더에 #include <algorithm> 추가해야함.
3. 2차원 vector
vector <vector<int>> v;
ex) vector<vector<int>> v(5);
v[0].push_back(1);
v[0].push_back(2);
v[3].push_back(5);
1, 2 | ||
5 | ||
- 둘다 크기를 지정 할 경우
vector<vector<int>> v<5,vector<int>(5));
vector<int>v;
for(int i=0; i<5; i++)
{
v.push_back(i);
}
for(int i=0; i<v.size(); i++)
{
cout<<v[i]<< " ";
}
+to be continued..
728x90
'💻 > C++' 카테고리의 다른 글
[c++] 반올림 / 올림 / 내림 함수 (0) | 2024.04.11 |
---|---|
[c++] DFS 깊이 우선 탐색 , 재귀함수 (0) | 2024.04.02 |
[c++] DAT (0) | 2024.03.21 |
[c++] insert함수/ erase함수/ sort함수/ swap함수 (0) | 2024.03.21 |
[c++] 변수와 포인터 (pointer) (0) | 2024.02.18 |