정렬을 다루면서 배운 점을 정리해보겠다.
● sort (#include <algorithm> 사용)
1. 오름차순 sort
sort(arr, arr+10);
여기서 10은 배열 arr의 크기이다.
2. 내림차순 sort
bool desc(int a, int b){
return a>b;
}
sort(arr, arr+10, desc);
사용자가 함수를 정의해서 정렬을 어떻게 할 것인지 정할 수 있다.
3. 벡터를 사용한 정렬
sort(v.begin(), v.end(), greater<자료형>()); → 내림차순 정렬
sort(v.begin(), v.end(), less<자료형>()); → 오름차순 정렬
● bubble sort 구현
void BubbleSort(int arr[], int n){
int i, j;
int temp;
for(i = 0;i < n - 1;i++){
for(j = 0;j < (n - i) - 1;j++){
if(arr[i] > arr[j + 1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
계속 공부해나가면서 정렬과 관련하여 기억해야할 점을 채워나가겠다.
'C++ Programming > 기억해야할 점' 카테고리의 다른 글
9. stl vector 다루기 (0) | 2020.05.03 |
---|---|
8. 배열 다루기 (0) | 2020.05.03 |
6. 문자열 다루기 (0) | 2020.05.03 |
5. 알고리즘 (0) | 2020.05.03 |
4. switch문, goto문 (0) | 2020.05.03 |