728x90
vector<pair<pair<int, int>, pair<int, int>>> v;
위와 같은 다중 페어 벡터를 정렬하고 싶을 때
bool op(const pair<pair<int, int>, pair<int, int>>& a, pair<pair<int, int>, pair<int, int>>& b) {
if (a.first.second == b.first.second) {
if (a.second.first == b.second.first) {
return a.second.second > b.second.second;
}
else return a.second.first > b.second.first;
}
else return a.first.second > b.first.second;
}
이런 식으로 정렬함수를 작성해주면 된다.
위 함수는 첫번째 원소는 제외하고 2,3,4 크기 순서대로 내림차순 정렬하는 함수다.
728x90
'Major > C&C++' 카테고리의 다른 글
[C++] vector 연속된 중복 제거 (0) | 2022.08.16 |
---|---|
[C++] regex_replace() 함수 (0) | 2022.06.26 |
[C언어] 공백없이 입력되는 n*m행을 2차원 배열로 저장하기 (2) | 2022.02.15 |
[C++] 공백(띄어쓰기)포함 문자열 입력받기 (0) | 2021.09.23 |
[C++] 문자열 자르기, 자른 문자열 배열에 담기(strtok이용) (0) | 2021.08.26 |