ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C++] sort 함수 compare
    C \ 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

    댓글

Designed by Tistory.