반응형
728x170
우선순위 큐에 들어가는 비교함수와
그냥 우리가 sort 할 때 쓰는 비교함수는 쓰는 모양이 다르다.
//구조체 함수자
struct cmp{
bool operator()(int a, int b){
return a > b;
}
};
//그냥 비교함수
bool comp(int x, int y){
return x < y;
}
그래서 이용하는 방법도 다르다.
vector<int> vec;
for(int i = 0; i<M; i++){
vec.push_back(x);
}
sort(vec.begin(), vec.end(), comp);
다르다.
priority_queue<int, vector<int>, cmp> q;
다른 이유는 레퍼런스를 보면 더 쉽게 알 수 있다.
우선순위 큐는 이렇다..
sort에서는 이렇다.
조금 다르지만.. 이에 대한 깊은 이해는 나중에 해도 된다.
코딩테스트를 하기 위한 이해는 다르다는 것만을 인지하자.
그냥 우리가 사용자 정의 함수는 sort에 쓸 수 있고
구조체를 만들어서 쓰는 것은 우선순위 큐라고 생각하자.
728x90
반응형
그리드형
'문제풀이(Problem Solving) > C++ 문제풀이에 유용한 것들' 카테고리의 다른 글
알고리즘 문제풀이 - 수학 자주 나오는 개념 총정리 (0) | 2022.05.18 |
---|---|
알고리즘 문제풀이 - 스택, Stack 총정리 (0) | 2022.05.15 |
그래프 탐색(BFS, DFS)에 대한 알고리즘 문제풀이 (0) | 2022.02.05 |
C++에서 Python Split과 같은 함수 만들기 (0) | 2022.02.03 |
벨만-포드 알고리즘, Bellman-Ford algorithm 구현하기 (0) | 2021.12.23 |