max8276   4년 전

struct Point
{
long long angle, y, x;
};

이렇게 생긴 구조체를 담는 벡터를 angle에 대해 먼저 오름차순으로 정렬하고, y에 대해 오름차순으로 정렬하고, y가 같다면 x에 대해 오름차순으로 정렬하고자 합니다.

sort함수를 불러서

bool operator <(Point t)
{
if (this->angle < t.angle) return true;
else if (this->y < t.y) return true;
else if (this->x < t.x) return true;
else return false;
}

sort(v.begin(), v.end());

이렇게 사용해줬습니다. 그런데 자꾸만

sort라인에서 처리되지 않은 예외가 있다고 하는군요 ㅠㅠ

compare함수들을 만들어서 적용해도,, 똑같이 예외가 있다고하고,,,

어떻게 수정해야 할까요,,? ㅠㅠ

+ 그냥 이대로 제출하면 런타임오류가 나네요,, 요거도 혹시 관련이 있는건지 궁금합니다.

djm03178   4년 전

두 객체 a, b에 대해 a.angle > b.angle이고 a.y < b.y이면 a < b도 true이고 b < a도 true인 모순이 발생합니다.

댓글을 작성하려면 로그인해야 합니다.