별의 공부 블로그 🧑🏻‍💻

[STL] sort

Programming/C++ 2017. 9. 22. 13:13
728x90
728x170

*[STL] sort

 

- 데이터의 크기에 따라 오름차순 또는 내림차순으로 데이터를 정렬해주는 함수.

- C++ 표준라이브러리 <algorithm> 헤더에 포함되어 있음.

- <funtional> 헤더 : 내림차순 정렬을 위한 greater<>을 포함하고 있는 헤더.

- sort 함수는 정수뿐만 아니라 크기 비교가 가능한 모든 변수들을 정렬 할 수 있음.

- 시간 복잡도 : 

- 템플릿

 default (1)

 template <class RandomAccessIterator>
  void sort (RandomAccessIterator first, RandomAccessIterator last);

 custom (2)

 template <class RandomAccessIterator, class Compare>
  void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

 

 

[예제 코드]

 

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <algorithm>    // 정렬(오름차순 정렬)을 하기 위해 필요함.                                                               
#include <functional>   // 내림차순 정렬을 하기 위해 필요함.
 
using namespace std;
 
int main()
{
    int ary[8];
    ary[0= 1;
    ary[1= 9;
    ary[2= 4;
    ary[3= 3;
    ary[4= 2;
    ary[5= 7;
    ary[6= 8;
    ary[7= 2;
 
    // 정렬 전
    cout << "정렬 전 : ";
    for (int i = 0; i < 8; i++) {
        cout << ary[i] << " ";
    }
    cout << endl;
 
    // 오름차순 정렬
    sort(ary, ary + 8);
 
    // 오름차순 정렬 후
    cout << "오름차순 정렬 후 : ";
    for (int i = 0; i < 8; i++) {
        cout << ary[i] << " ";
    }
    cout << endl;
 
    // 내림차순 정렬
    sort(ary, ary + 8, greater<int>());
 
    // 내림차순 정렬 후
    cout << "내림차순 정렬 후 : ";
    for (int i = 0; i < 8; i++) {
        cout << ary[i] << " ";
    }
    cout << endl;
}
cs

 

[출력 결과]

 

 정렬 전 : 1 9 4 3 2 7 8 2
 오름차순 정렬 후 : 1 2 2 3 4 7 8 9
 내림차순 정렬 후 : 9 8 7 4 3 2 2 1 

 

728x90
그리드형(광고전용)

'Programming > C++' 카테고리의 다른 글

[STL] bitset  (0) 2017.10.26
[STL] sprintf  (0) 2017.10.21
[STL] getline  (0) 2017.10.20
[STL] ceil, floor, round  (0) 2017.09.23
C++ Character Literals  (0) 2017.09.02
인수와 레퍼런스  (0) 2017.05.30
함수 템플릿 (Function Template)  (0) 2017.05.29
함수 오버로드 (Function Overloading)  (0) 2017.05.25
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖