반응형
sort
c++ sort 예제
algorithm 헤더에 sort를 지원하고 있으며 아래와 같이 사용할 수 있다.
아래와 같이 기본적으로 사용할 경우에는 오름차순 정렬을 한다.
c에서는 qsort를 제공하고 있으며 배열을 기반으로 설계 된 함수이기 때문에 사용성이 떨어진다.
c++의 sort의 경우 연속된 컨테이너는 모두 정렬이 가능하며 수행시간도 qsort보다 빠르다.
sort의 세번째 parameter인 compare에 greater, less으로 오름차순(기본), 내림차순으로 정렬이 가능하며, compare 함수를 구현하여 사용할 수 있다.
#include <iostream>
#include <algorithm>
using namespace std;
int arr[100];
int n;
void input()
{
cin >> n;
for(int i=0; i<n; i++)
cin >> arr[i];
}
void output()
{
for(int i=0; i<n; i++)
cout << arr[i] << " ";
cout << endl;
}
int main()
{
input();
sort(arr, arr+n);
cout << "default sort: ";
output();
sort(arr, arr+n, greater<int>());
cout << "greater: ";
output();
sort(arr, arr+n, less<int>());
cout << "less: ";
output();
return 0;
}
예제
3
3 2 1
default sort: 1 2 3
greater: 3 2 1
less: 1 2 3
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘] DFS 경로찾기 (0) | 2018.10.20 |
---|---|
[알고리즘] BFS (0) | 2018.10.17 |
[알고리즘] DFS (0) | 2018.08.31 |
[알고리즘] 쿼드트리 (Quad Tree) (0) | 2018.07.31 |
[알고리즘] 계수 정렬(Counting sort) (0) | 2018.06.11 |
댓글