C++ - STL Vector
STL Vector
-
생성 및 초기화
#include <vector> using namespace std; vector<int> v; //선언 vector<int> v(n); // n개를 0으로 초기화 vector<int> v(n,m); // n개를 m으로 초기화 vector<int> v1 = {1,2,3,4,5}; // {1,2,3,4,5}로 초기화 vector<int> v2(v1); // v1를 복사해서 v2 초기화
-
접근
v.at(n) = 0; // n번 째 요소 접근 v[n] = 0; // n번 째 요소 접근 v.front(); // 맨 앞 요소 접근 v.back(); // 맨 뒤 요소 접근
-
추가 및 제거
vector<int> v = { 1,2,3,4,5 }; v.push_back(6); // 마지막에 요소 추가 {1,2,3,4,5,6} v.pop_back(); // 마지막 요소 제거 {1,2,3,4,5} v.insert(v.begin() + 2, 10); // 2 번째 자리에 10 추가 {1,2,10,3,4,5} v.erase(v.begin() + 2); // 2 번째 요소 제거 {1,2,3,4,5} v.erase(v.begin()+2, v.end()-1); // v.begin()+3 ~ v.end()-1 제거 {1,2,5} v.clear(); // 전체 요소 제거 size => 0, capacity는 그대로
-
iterator
vector<int> v = { 1,2,3,4,5 }; vector<int>::iterator it; for (it = v.begin(); it != v.end(); it++) cout << *it << endl;
-
for
vector<int> v = { 1,2,3,4,5 }; for (int e : v) cout << e << endl; for (int i = 0; i < v.size(); i++) cout << v[i] << endl;
-
정렬
bool desc(int a, int b) { return a > b; } vector<int> v = { 1,9,3,6,2,1,7 }; // 오름차순 sort(v.begin(), v.end()); // {1,1,2,3,6,7,9} // 내림차순 sort(v.begin(), v.end(),desc); // {9,7,6,3,2,1,1}
-
중복 제거
vector<int> v = { 1,1,1,2,3,3,4,6,6,9,9,9 }; v.erase(unique(v.begin(), v.end()), v.end()); // {1, 2, 3, 4, 6, 9}
-
std::vector
-
STL 에서 vector 에 중복 원소 없애기
-
C++ :: STL sort() 함수 다루기
Leave a comment