정렬 Sort
정의
- 어떠한 데이터들을 순서대로 배치시키는 것을 의미
<algorithm>헤더 파일에 속해있음. [start,end) 범위의 인자를 정렬함- STL sort() -> O(nlgn) 의 quick sort를 내부 함수로 구현, stable_sort() -> O(nlgn) 의 merge sort를 내부 함수로 구현했다.
- 오름차순 정렬이 기본값
사용법
-
sort(arr,arr+n)
-
sort(v.begin(),v.end())
-
sort(v.begin(),v.end(),greater
()) // 내림차순 -
sort(v.begin(),v.end(),cmp) // 사용자 정의 함수
bool cmp(const pair<int,int> &u, const pair<int,int> &v){
return (u.first>v.first);
}
...
sort(v.begin(),v.end(),cmp) // cmp 함수에 맞게 정렬함
-
++ pair를 sort함수로 정렬할 경우, pair의 첫번째 원소를 기준으로 정렬한다
-
+++ 정렬할 데이터 중 같은 비교 대상이 있을 때, 그 순서를 유지하며 sort 하는 함수 -> stable_sort(start,end) 를 사용한 다
Comments