Programming/PS

PS를 위한 C++ - vector

범고래_1 2019. 6. 26. 00:49

PS를 할 때 나는 거의 대부분 C++를 쓴다. (C++11)

왜냐하면 C++에 정말 엄청난 툴인 STL이 있기 때문이다.

그중 나에게 최애는 단연 vector이다.

 

 

vector는 작고 간편하지만, 정말 많은 상황들에서 강력한 힘을 발휘한다.

난 대부분의 상황들을 거의 vector로 처리한다.

C++의 vector는 본래 std::vector이지만, PS할 때는 편의상 그냥 vector로 표기 한다.

 

 

 

벡터는 만드는 것도 참 간단하다.

vector<int> v;

 

생성자로 만드려면

vector<int> v(10); // size == 10, all elements will be 0

 

1. 정렬 (O(nlogn))

 

sort(v.begin(), v.end()); // asc sort(v.begin(), v.end(), greater<int>()); // desc 

 

2. 탐색 (O(n))

 

for(auto &x: v) {     if (x == target) {         cout << "found !";         break;     } }

 

3. 최대/최소값 뱉어내기 (O(n))

 

int mx = *max_element(v.begin(), v.end()); int mn = *min_element(v.begin(), v.end());

 

'Programming > PS' 카테고리의 다른 글

PS를 위한 C++ - string  (0) 2019.06.26
python으로 PS할 때 입력 받기  (0) 2019.06.26