algorithm의 sort는 기본 퀵 정렬이기 때문에
O(n log n)의 시간복잡도를 가진다.
1. 오름차순
소스 코드:
#include <iostream>
#include <vector>
#include <algorithm> // sort 사용 위함
using namespace std;
int main(){
int N;
cin >> N;
vector<int> v(N,0);
// 벡터 값 입력
for(int i=0; i<N; i++){
cin >> v[i];
}
// 오름차순 정렬 전의 벡터 출력
for(int i=0; i<N; i++){
cout << v[i] << " ";
}cout << "\n";
// 오름차순 정렬
sort(v.begin(),v.end());
// 오름차순 정렬 후의 벡터 출력
for(int i=0; i<N; i++){
cout << v[i] << " ";
}cout << "\n";
}
출력 결과:
sh -c make -s
./main
10 // 입력
33 22 48 2 49 37 95 13 11 94 // 입력
33 22 48 2 49 37 95 13 11 94 // 정렬 전
2 11 13 22 33 37 48 49 94 95 // 정렬 후
2. 내림차순
소스 코드:
#include <iostream>
#include <vector>
#include <algorithm> // sort 사용 위함
using namespace std;
int main(){
int N;
cin >> N;
vector<int> v(N,0);
// 벡터 값 입력
for(int i=0; i<N; i++){
cin >> v[i];
}
// 내림차순 정렬 전의 벡터 출력
for(int i=0; i<N; i++){
cout << v[i] << " ";
}cout << "\n";
// 내림차순 정렬
sort(v.rbegin(),v.rend());
// 내림차순 정렬 후의 벡터 출력
for(int i=0; i<N; i++){
cout << v[i] << " ";
}cout << "\n";
}
오름차순 : sort (v. begin(), v.end())
내림차순 : sort (v. rbegin(), v.rend())
출력 결과:
sh -c make -s
./main
10 // 입력
33 22 48 2 49 37 95 13 11 94 // 입력
33 22 48 2 49 37 95 13 11 94 // 내림차순 정렬 전
95 94 49 48 37 33 22 13 11 2 // 내림차순 정렬 후
'IT > C , C++' 카테고리의 다른 글
[c언어] qsort()로 정렬하기 (0) | 2022.10.05 |
---|