Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 쉘
- c
- CV
- 턱걸이
- TensorFlow
- Windows10
- 딥러닝
- 백준알고리즘
- 학습
- 프로세스
- 공부
- 시스템프로그래밍
- C언어
- 백준
- OpenCV
- 텐서플로우
- 알고리즘
- 코딩
- 영상처리
- Windows 10
- shell
- 프로그래밍
- 회귀
- linux
- 운영체제
- 리눅스
- Computer Vision
- python
- C++
- error
Archives
- Today
- Total
줘이리의 인생적기
C++ - sort 본문
728x90
sort 알고리즘은 오름차순, 내림차순, 사용자가 정의한 순서로 정렬해주는 알고리즘.
default는 오름차순, 평균 시간복잡도는 퀵 정렬 기반이라 n*logn.
sort 알고리즘은 <algorithm> 헤더파일 안에 있음
#include <algorithm>
을 추가해야 한다.
원형
#array
sort(array, array+n); //default 오름차순
sort(array, array+n, 함수);
#vector
sort(vector<자료형>.begin(), vector<자료형>.end()); // default 오름차순
sort(vector<자료형>.begin(), vector<자료형>.end(), less<자료형>()); //오름차순
sort(vector<자료형>.begin(), vector<자료형>.end(), greater<자료형>()); //내림차순
sort(vector<자료형>.begin(), vector<자료형>.end(), 함수);
연습1) array- 오름차순(default)
#include<iostream>
#include<algorithm>
using namespace std;
int main(void){
int arr[10]={2,6,3,4,0,1,9,5,8,7};
cout << "정렬 전 : ";
for(int i =0; i<10 ;i++){
cout << arr[i] << ' ';
}
cout << endl;
sort(arr, arr+10);
cout << "정렬 후 : ";
for(int i =0; i<10 ;i++){
cout << arr[i] << ' ';
}
return 0;
}
연습2) array- 내림차순
#include<iostream>
#include<algorithm>
using namespace std;
bool Descending(int a, int b){
return a>b;
}
int main(void){
int arr[10]={2,6,3,4,0,1,9,5,8,7};
cout << "정렬 전 : ";
for(int i =0; i<10 ;i++){
cout << arr[i] << ' ';
}
cout << endl;
sort(arr, arr+10, Descending);
cout << "정렬 후 : ";
for(int i =0; i<10 ;i++){
cout << arr[i] << ' ';
}
return 0;
}
연습3) vector - 오름차순(default)
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(void){
vector<int> vec= {2, 6, 3, 4, 0, 1, 9, 5, 8, 7};
cout << "befor sort: ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
cout << endl;
sort(vec.begin(), vec.end());
cout << "after sort : ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
return 0;
}
연습4) vector - 오름차순(less)
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(void){
vector<int> vec= {2, 6, 3, 4, 0, 1, 9, 5, 8, 7};
cout << "befor sort: ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
cout << endl;
sort(vec.begin(), vec.end(), less<int>());
cout << "after sort : ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
return 0;
}
연습5) vector - 내림차순(greater)
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(void){
vector<int> vec= {2, 6, 3, 4, 0, 1, 9, 5, 8, 7};
cout << "befor sort: ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
cout << endl;
sort(vec.begin(), vec.end(), greater<int>());
cout << "after sort : ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
return 0;
}
연습5) vector - 내림차순(함수)
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool Descending(int a, int b){
return a>b;
}
int main(void){
vector<int> vec= {2, 6, 3, 4, 0, 1, 9, 5, 8, 7};
cout << "befor sort: ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
cout << endl;
sort(vec.begin(), vec.end(), Descending);
cout << "after sort : ";
for(int i =0; i<10 ;i++){
cout << vec[i] << ' ';
}
return 0;
}
'공부 > C++ STL' 카테고리의 다른 글
C++ - vector (0) | 2020.06.23 |
---|