본문 바로가기
알고리즘

[알고리즘] sort

by hong0 2018. 10. 20.
반응형

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

댓글