web/알고리즘

c++ algorithm 관련 함수들

민사민서 2024. 2. 11. 17:18

sort()로 정렬하기

- sort(v.begin(), v.end()) 하면 오름차순 정렬, sort(v.rbegin(), v.rend()) 하면 내림차순 정렬

- sort(v.begin(), v.end(), compare) 해서 사용자 정의 비교함수 정의해도 됨, 리턴타입 bool인 함수 정의

bool compare(pair<int, int> a, pair<int, int> b) {
    if(a.second == b.second) {
        return a.first < b.first;
    }
    return a.second > b.second;
}

 

max element 구하기

- max_element(start, end)를 이용하면 [start, end) 범위 중 가장 큰 값 iterator를 반환

- *max_element(start, end)를 이용하면 [start, end) 범위 중 가장 큰 값 value를 반환

- min_element() 함수를 이용하면 최솟값 구할 수 있음

 

이진 탐색

- bool binary_search(ForwardIt first, ForwardIt last, const T& value) 이용해서 value를 찾음, 참거짓 리턴함

 

대수 비교

- max(), min() 함수 활용하여 두 원소 간 비교