STL 정렬 sort 함수 사용법 & 예제 (오름차순, 내림차순)
STL 라이브러리의
sort 함수 사용법
sort 함수의 일반적인 형식은 다음과 같습니다:
sort(first, last, comp);
- first: 정렬을 시작할 요소의 처음 위치를 가리키는 반복자
- last: 정렬을 마칠 요소의 다음 위치를 가리키는 반복자
- comp: 비교 함수로, 선택적으로 사용할 수 있습니다. 기본적으로 오름차순으로 정렬됩니다.
만약 정렬할 요소가 배열이나 벡터 등의 컨테이너에 저장되어 있다면, first는 컨테이너의 begin() 함수를 이용해 첫 번째 요소를 가리키는 반복자로 설정하고, last는 컨테이너의 end() 함수를 이용해 마지막 요소의 다음 위치를 가리키는 반복자로 설정합니다.
오름차순 정렬 예제
아래는 오름차순으로 정렬하는 간단한 예제 코드입니다:
#include <algorithm>
#include <vector>
int main() {
std::vector<int> numbers = {5, 2, 8, 1, 9, 3};
std::sort(numbers.begin(), numbers.end());
for (const int& num : numbers) {
std::cout << num << " ";
}
return 0;
}
위의 예제에서는 sort 함수에 컨테이너의 begin()과 end()를 인자로 전달하여 벡터를 오름차순으로 정렬하였습니다. 결과는 1 2 3 5 8 9가 출력됩니다.
내림차순 정렬 예제
내림차순으로 정렬하려면 비교 함수를 사용해야 합니다. 아래는 내림차순으로 정렬하는 예제 코드입니다:
#include <algorithm>
#include <vector>
bool descending(int a, int b) {
return a > b;
}
int main() {
std::vector<int> numbers = {5, 2, 8, 1, 9, 3};
std::sort(numbers.begin(), numbers.end(), descending);
for (const int& num : numbers) {
std::cout << num << " ";
}
return 0;
}
위의 예제에서는 descending 함수를 비교 함수로 사용하여 벡터를 내림차순으로 정렬하였습니다. 결과는 9 8 5 3 2 1이 출력됩니다.
마무리
sort 함수는 STL의
댓글