코테공부

c++ Priority_queue Compare 정의

하얀잔디 2022. 12. 1. 16:19

매번 헷갈린다.

 

1. 내가 원하는대로 정렬하기 위해선

(오름차순)

 

priority_queue<자료형,vector<자료형>,greater(자료형)>> pq;

 

 

 

2. 구조체 만들어서 하는것.

struct moo{
    long long totalTime;
    int doTime;
    };
    typedef struct moo moo;

    struct compare{
    bool operator()(moo &I,moo &C){
    if(I.totalTime!=C.totalTime)
    return I.totalTime > C.totalTime;
    return I.doTime<C.doTime;
    }
    }


    priority_queue<moo,vector<moo>,compare>pq;

 

주의할점 : 

compare 함수 내에 return 은 , 내가 생각한 순서랑 반대로!!! 다 

 

vector compare과는 반대임!! 

 

'코테공부' 카테고리의 다른 글

C++ heap ( 우선순위 큐)  (0) 2023.08.23
C++ STL FIND  (0) 2023.08.22
카카오기출 코딩테스트 공부 c++  (0) 2022.11.15
다익스트라 알고리즘  (0) 2022.11.04
난쟁이마을 c++  (0) 2022.09.20