C++에서 정렬을 하는 방법에 대해 알아보겠습니다.
정렬을 간단하게 하는 방법으로는 sort() 함수를 사용하는 방법이 있습니다.
sort() 함수를 사용하기 위해서는 algorithm를 include 해야 합니다.
sort() 함수를 사용해 오름 차순을 정렬하는 방법을 보겠습니다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
//정렬이 안된 배열값
int arr[10] = {4, 5, 8, 7, 10, 1, 3, 2, 9, 6};
// 정렬
sort(arr, arr+10);
//출력
for(int i=0; i<10; i++){
cout << arr[i] << ' ';
}
return 0;
}
결과
1 2 3 4 5 6 7 8 9 10
배열에 정렬이 안된 값을 지정했습니다.
sort() 함수를 사용해 오름 차순으로 값을 정렬되었습니다.
오름차순으로 정렬을 하기 위해서는 sort(begin, end) 형식으로 함수에 값을 지정합니다.
end에는 배열의 크기만큼 +를 지정해줘야 합니다.
이번에는 내림 차순으로 정렬을 하는 방법을 보겠습니다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(void){
// 정렬이 안된 배열값
int arr[10] = {4, 5, 8, 7, 10, 1, 3, 2, 9, 6};
// greater 함수를 사용해 내림차순으로 정렬
sort(arr, arr+10, greater<int>());
for(int i=0; i<10; i++){
cout << arr[i] << ' ';
}
return 0;
}
결과
10 9 8 7 6 5 4 3 2 1
내림 차순으로 정렬이 되었습니다.
내림 차순 작성 방법을 보면 sort(begin, end, greater<자료형>) 형태로 작성했습니다.
기본적으로 begin, end 지정을 오름차순과 같습니다.
sort() 함수에 greater를 사용해 내림 차순으로 결과를 얻을 수 있습니다.
sort() 함수를 사용해 정렬하는 경우 오름 차순과 내림 차순의 작성방법의 차이는 마지막에 greater를 설정하는지에 따라 달라집니다.
댓글