-
[C++] sort 함수 compareC \ C++ 2021. 2. 9. 20:20
sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
정렬해주는 함수로 굉장히 사용하기 편하다.
뒤에 compare는 사용하지 않아도 되고,
sort (RandomAccessIterator first, RandomAccessIterator last);
그냥 사용할 경우에는 오름차순이 디폴트이다.
sort를 이용한 오름차순 && 내림차순
나같은 경우 이해가 잘안가서 힘들었는데
설명이 맞을지는 모르겠으나,
오름차순의 경우 앞에 있는 수 보다 뒤에 있는 수가 더 클때 정렬해주는 경우로써
더 작은 숫자가 a에 더 큰 숫자가 b에
ex)
{8,3} 이 있다면 a = 3 ,b = 8
내림차순의 경우 앞에 있는 수가 뒤에 있는 수보다 클때 정렬,
ex)
{8,3} 이 있다면 a = 8 ,b = 3
참고로 말하자면 int a,b 에는 어떤 arg가 들어가는 것이 아니다.
그냥 정렬의 기준을 위한 변수일뿐
#include <iostream> #include <algorithm> #include <vector> using namespace std; bool comp(int a, int b) { return a < b; // 1 2 3 4 5 6 7 8 9 10 뒤에있는 숫자가 더 크다. } bool comp(int a, int b) { return a > b; // 10 9 8 7 6 5 4 3 2 1 앞에 있는 숫자가 더 크다. } int main(void) { vector<int> a = {8,3,5,4,1,10,9,2,7,6}; sort(a.begin(), a.end(), comp); for(int i = 0; i < a.size(); i++) { cout << a[i] << " "; } }
728x90반응형'C \ C++' 카테고리의 다른 글
[C++]std::stoll (0) 2021.02.13 [C++] stoi() (0) 2021.02.11 [C언어] 문자열 비교 strcmp,strncmp (0) 2021.01.26 [c++ error] warning: range-based for loop is a C++11 extension (0) 2021.01.19 [C++] range-based for statement (0) 2021.01.19