반응형
template <Type T> void sort (T begin, T end, bool compareFunction);
std::sort는<algorithm> 헤더 파일을 포함하여 사용할 수 있으며,
주어진 구간내에 있는 배열 또는 벡터 인자들을 오름차순 정렬해준다.
첫 번째 인자인 begin은 '시작하는 주소',
두 번째 인자인 end에는 '끝나는 주소 + 1(비어있음)',
세 번째 인자인 compareFunction는 정렬할 방법을 정의해준다.
(첫·두 번째 인자로 지정하는 정렬 범위는, begin은 포함하고 end는 포함하지 않는 구간이다.)
#include <iostream>
#include <algorithm> // sort()
using namespace std;
bool compareFunction(int &a, int &b){ // a는 b보다 앞쪽에 위치한 인자이다.
return a > b; // 참(a > b)이면, swap 되지 않는다.
// false이면 swap되어 a와 b 인자의 위치가 바뀐다.
}
int main(){
int arr[10] = {4, 6, 5, 2, 8, 9, 1, 3, 7, 0};
int size = sizeof(arr) / sizeof(arr[0]);
cout << "Before: ";
for(int i = 0; i < size; ++i){
cout << arr[i] << " ";
}
std::cout << endl;
sort(arr, arr + size, compareFunction);
cout << "After : ";
for(int i = 0; i < size; ++i){
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
반응형
'C++' 카테고리의 다른 글
[C++] struct tm {}; (0) | 2020.03.29 |
---|---|
[C++] localtime() (0) | 2020.03.25 |
[C++] STL std::pair() (0) | 2020.03.07 |
[C++] STL std::vector() (0) | 2020.03.07 |
[C++] STL (0) | 2020.03.07 |