1. #include<algorithm> 필요
2. vector 에서 사용
vector<int> abc;
sort(abc.begin(), abc.end() ) ;
하면 기본적으로 오름차순으로 정렬됨
ex. 1 2 3 4 5...
3. 배열에서 사용 .int arr[10];
sort(arr,arr+10);
하면 배열 정렬됨.
4.
bool compare(int a, int b)
{
return a > b;
}
sort(xx , xx , compare);
이렇게 쓰면
내림차순 정렬가능.
5. compare 함수를 적절하게 쓰면 여러가지 데이터타입들을 원하는 규칙으로 정렬가능.
ex)string
vector<string> abc;
bool compare(string a , string b){
여기서 true로 리턴하는 조건으로 정렬하게됨
return a.compare(b)> 0;
compare 함수가 true 리턴하면 a가 b보다 사전순위 늦다는 의미 이므로.
이 경우 sort 함수 적용하면 사전순위 늦은 순서대로 정렬 됨.
return a.compare(b) < 0;
만약 이렇게하면 a가 b보다 사전순위 앞서면 true 리턴하므로 사전순위앞서는 순서대로 정렬됨.
}
sort(abc.begin(), abc.end(), compare);
.
6.compare사용예시 2
스트링 벡터를 스트링 길이작은 순서로 정렬
bool compare(string a,string b)
{
return a.length() < b.length();
}
sort(abc.begin(),abc.end(),compare);
'프로그래밍 관련 > C++' 카테고리의 다른 글
C++ map (0) | 2020.05.02 |
---|---|
C++ stack (0) | 2020.05.01 |
C++ string (0) | 2020.04.26 |
C++ Queue 사용 (0) | 2020.04.26 |
C++ vector (0) | 2020.04.26 |