STL의 sort에 대한 질문.

jiee의 이미지

sort를 사용할 때 하나의 조건으로 정렬하다가 같은 값이 나오는 값들에 대해 새로운 조건을 사용해 정렬할 수 있을까요?

예를 들어,

struct Info
{
	int a;
	int b;
};

위와 같은 구조체가 여럿있을 때, a의 값에 따라 정렬하다가 같은 a를 같는 구조체에 대해서 b값에 따라 정렬하는 형태입니다.

아시는 분 도움주시면 감사하겠습니다. ^^

kewlbear의 이미지

값을 비교하는 function object을 만들어서 sort에 세번째 인자로 넘겨주면 됩니다.

doldori의 이미지

간단한 방법은

struct Info
{
    int a;
    int b;
    bool operator<(const Info& rhs) const;
    {
        return a < rhs.a ||
               !(rhs.a < a) && b < rhs.b;
    }
};

더 간단한 방법은 :-)

typedef pair<int, int> Info;

thyoo의 이미지

문제를 잘 못 읽어서 삭제했읍니다.
__________________________________
Less is More (Robert Browning)

___________________________________
Less is More (Robert Browning)