컴퓨터공학

[알고리즘/메모] C++ STL sort compare 함수 템플릿

TaeGyeong Lee 2023. 10. 19. 14:49

개요

#include <algorithm> 에 sort 함수 내 comapre 함수에 대한 코드 예제입니다.

 

코드 템플릿

compare에서 참을 반환하는 조건을 기준으로 정렬됩니다.

sort(target.begin(), target.end(), compare);

 

#1 compare 예제

a < b 기준, 즉 올림차순으로 정렬됩니다.

bool compare(int a, int b){
	if(a < b){
    	return true;
    }
    return false;
}

 

#2 compare 예제

a 벡터 내 1번째 원소와 b 벡터 내 1번째 원소를 기준으로 올림차순 정렬

bool compare(vector<int> a, vector<int> b){
	
    if(a[1] < b[1]){
    	return true;
    }
    return false;
}

 

#3 compare 예제

내림차순 정렬

bool compare(int a, int b){
	if(a > b){
    	return true;
    }
	return false;
}

 

참고 자료

compace 함수 활용 방법에 대해 이해했는지 아래 문제를 풀어보세요.

 

1181번: 단어 정렬

첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.

www.acmicpc.net