본문 바로가기
프로그래밍 관련/C++

c++ sort

by 존버매니아.임베디드 개발자 2020. 4. 29.
반응형

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