특정 Lib를 사용하여 쉽게 오름차순 혹은 내림차순으로 정렬해줄 수 있고, 원하는 기준으로 정렬을 해줄 수 있다.
#include <algorithm>
을 사용하면 쉽게 Sort를 구현할 수 있다.
#include <iostream>
#include <algorithm>
using namespace std;
int arr[10] = { 1,3,2,5,6,7,8,9,4,1 };
int brr[10] = { 1,3,2,5,6,7,8,9,4,1 };
int crr[10] = { 1,3,2,5,6,7,8,9,4,1 };
int compare(int left, int right)
{ // 정렬에서 1을 return 하면 변경하지 않겠다, 0은 변경하겠다
// 짝수를 우선순위 높게
if (left % 2 == 0 && right % 2 == 1) return 1;
if (left % 2 == 1 && right % 2 == 0) return 0;
// 짝수 중에서 값이 작은걸 우선순위 높게
return left < right;
}
int main()
{
// sort(배열 시작 주소, 배열 끝 주소)
// sort의 기본 default는 오름차순이다!
sort(&arr[0], &arr[10]);
// 가독성 업그레이드 버전
sort(arr, arr + 10);
//내림차순 : greater<자료형>()
sort(brr, brr + 10,greater<int>());
// 다중조건 정렬 , 직접 정렬 함수 생성
sort(crr, crr + 10, compare);
return 0;
}
오름차순 | 내림차순 | 다중조건 |
---|---|---|
다중조건 조금 더 쉽게 이해하기 위해서는 1을 반환
하는 조건이 우선순위가 높다
는 것이다.