본문 바로가기
Coding Test/C++ 줍줍

[알튜비튜 줍줍] sort 함수 정리

by seoyamin 2022. 9. 3.

std::sort

 

1. parameter

배열의 시작 위치, 끝 위치

 

 

2. 정렬 기준

[default] 오름차순
[custom] sort 함수의 3rd 인자로 다양한 비교함수 cmp를 넣어주면, 그 함수 기준으로 정렬 가능

※ 내림차순  :   sort (    ,     , greater<>())

 

 

 

 

※ cmp (int a, int b)

①   a가 b의 앞에 와야 할 경우 true를 리턴하게끔 설계

bool cmp(int a, int b) {
	if(a > b) return true;    //  a >= b 하면 안됨
    return false;
}

 

②  a와 b의 우선순위가 같으면 false 반환해야 함 ( false를 리턴하는 경우, swap 한다는 사실을 숙지하고 있자! )

 

③  cmp의 인자로 STL이나 클래스 객체가 전달되는 경우, 굳이 인자값을 복사해서 보낼 필요 없으므로 reference 이용

bool cmp(string a, string b) {
	return a < b;   // 사전순으로 정렬 (권장 X)
}

 

bool cmp(const string& a, const string& b) {
	return a < b;   // 사전순으로 정렬 (권장)
}