일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- k-eta
- 입/출력
- UI한글변경
- 매크로
- 표준 입출력
- 알고리즘 공부방법
- correlation coefficient
- 자료구조
- Django Nodejs 차이점
- 장고란
- 이분그래프
- 프레임워크와 라이브러리의 차이
- 입출력 패턴
- 구조체와 클래스의 공통점 및 차이점
- vscode
- 시간복잡도
- scanf
- iOS14
- double ended queue
- 엑셀
- 2557
- string 메소드
- Django란
- c++
- Django의 편의성
- string 함수
- 연결요소
- 백준
- EOF
- getline
Archives
- Today
- Total
Storage Gonie
(13) C++ algorithm헤더의 sort함수 본문
반응형
# 배열 정렬
- sort(vec.begin(), v.end()) : 오름차순(default)
- sort(vec.begin(), v.end(), less<int>()) : 오름차순
- sort(vec.begin(), v.end(), greater<int>()) : 내림차순
- sort(vec.begin(), v.end(), greater<int>(), compare) : 함수기준
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr[] = {3, 7, 2, 4, 1, 0, 8, 5, 6, 8};
int length = sizeof(arr) / sizeof(int);
sort(arr, arr+length);
for (int i=0; i< length ; i++)
cout << arr[i] << " "; // 0 1 2 3 4 5 6 7 8 8
cout << endl;
sort(arr, arr+length, less<int>());
for (int i=0; i< length ; i++)
cout << arr[i] << " "; // 0 1 2 3 4 5 6 7 8 8
cout << endl;
sort(arr, arr+length, greater<int>());
for (int i=0; i< length ; i++)
cout << arr[i] << " "; // 8 8 7 6 5 4 3 2 1 0
}
# 벡터의 값 정렬
- sort(vec.begin(), v.end()) : 오름차순(default)
- sort(vec.begin(), v.end(), less<int>()) : 오름차순
- sort(vec.begin(), v.end(), greater<int>()) : 내림차순
- sort(vec.begin(), v.end(), greater<int>(), compare) : 함수기준
# include <vector>
using namespace std;
int main()
{
vector<int> vec; -> string을 push_back 해준다음에 string으로도 정렬이 가능함
sort(vec.begin(), vec.end()); // 오름차순 정렬(default)
sort(vec.begin(), vec.end(), less<int>()); // 오름차순 정렬
sort(vec.begin(), vec.end(), greator<int>()); // 내림차순 정렬
}
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
bool compare(string s1, string s2){ // 알아서 2개씩 꺼내서 비교함
return s1 < s2; // 내림차순 정렬
//return s1 > s2; // 오름차순 정렬
}
int main() {
string str;
cin >> str;
int len = str.size();
vector<string> vec;
for (int i = 0; i < len; i++)
vec.push_back(str.substr(i, len-i));
//sort(vec.begin(), vec.end());
//sort(vec.begin(), vec.end(), greator<string>());
//sort(vec.begin(), vec.end(), less<string>());
sort(vec.begin(), vec.end(), compare);
for (int i = 0; i < vec.size(); i++)
cout << vec[i] << endl;
}
반응형
'알고리즘 > 문제해결을 위한 C++ 공부' 카테고리의 다른 글
(14) C++ 2차원 배열 (0) | 2019.04.27 |
---|---|
(13) C++ algorithm헤더의 swap함수 (0) | 2019.04.26 |
(12) C++ 람다(lambda) 함수 사용법 (0) | 2019.04.25 |
(11) C++ vector 사용법 (0) | 2019.04.25 |
(10) C++ algorithm헤더의 find 함수 (0) | 2019.04.25 |
Comments