[PS] Sort

정재훈·2022년 3월 14일
0

Problem Solving

목록 보기
10/17
post-thumbnail

Sort란?

특정 Lib를 사용하여 쉽게 오름차순 혹은 내림차순으로 정렬해줄 수 있고, 원하는 기준으로 정렬을 해줄 수 있다.

#include <algorithm>

을 사용하면 쉽게 Sort를 구현할 수 있다.

배열 Sort

int와 char 자료형 정렬

#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을 반환하는 조건이 우선순위가 높다는 것이다.

profile
여러 방향으로 접근하는 개발자

0개의 댓글