반응형
C++ 표준 라이브러리에서 제공하는 sort 함수는 데이터를 정렬하는 데 사용됩니다. 이 함수는 algorithm 헤더 파일에 정의되어 있습니다. sort 함수는 일반적으로 std::sort로 사용되며, 다음과 같은 형태로 사용할 수 있습니다.
#include <algorithm>
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec = { 3, 1, 4, 1, 5, 9, 2, 6, 5 };
// std::sort를 사용하여 벡터 정렬
std::sort(vec.begin(), vec.end());
// 결과 출력
for (int n : vec) {
std::cout << n << ' ';
}
return 0;
}
위 예제에서 std::sort 함수는 vec 벡터의 요소들을 오름차순으로 정렬합니다. std::sort 함수는 다음과 같은 세 가지 주요 오버로드를 제공합니다:
1. 기본 함수
template< class RandomIt >
void sort( RandomIt first, RandomIt last );
- first: 정렬할 범위의 시작 반복자.
- last: 정렬할 범위의 끝 반복자 (마지막 요소의 다음 위치)
2. 사용자 정의 비교 함수
template< class RandomIt, class Compare >
void sort( RandomIt first, RandomIt last, Compare comp );
- first: 정렬할 범위의 시작 반복자.
- last: 정렬할 범위의 끝 반복자.
- comp: 두 요소를 비교하는 데 사용될 사용자 정의 비교 함수 또는 함수 객체.
이 함수는 comp를 사용하여 요소들을 비교합니다. 예를 들어, 내림차순으로 정렬하려면 다음과 같이 사용할 수 있습니다:
#include <algorithm>
#include <vector>
#include <functional> // std::greater
#include <iostream>
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5};
// 사용자 정의 비교 함수를 사용하여 벡터 내림차순 정렬
std::sort(vec.begin(), vec.end(), std::greater<int>());
// 결과 출력
for (int n : vec) {
std::cout << n << ' ';
}
return 0;
}
반응형
'C++ 공부' 카테고리의 다른 글
[C++]while 조건문에 '>>' 가 있는 경우는? (0) | 2024.07.28 |
---|---|
[C++]String 의 find 함수 정의, string::npos 란?(프로그래머스-문자열 바꿔서 찾기) (0) | 2024.07.28 |
[C++]String 의 replace(), regex_replace() 함수 정의, 비교 (0) | 2024.07.27 |
[C++]Vector 와 Array 비교 (0) | 2024.07.27 |
[C++]Vector 정의, push_back 등 주요 함수 정리 (0) | 2024.07.27 |
댓글