C++에서 정렬할 일이 생기면 C++ 표준 라이브러리의 sort
함수를 이용하면 편하다.
사용 예는 다음과 같다:
#include <algorithm>
#include <iostream>
int main() {
using namespace std;
const int size = 9;
int a[size] = {5, 8, 1, 2, 9, 3, 7, 4, 6};
sort(a, a + size);
for (int i = 0; i < size; ++i)
cout << a[i] << ' ';
cout << '\n';
return 0;
}
#include <algorithm>
과 sort(a, a + size);
를 잘 보시라. 실행 결과는 다음과 같다:
1 2 3 4 5 6 7 8 9
함수에 넘겨진 인자들의 뜻은:
a
: 정렬할 배열의 첫 요소를 가리키는 포인터.a + size
: 정렬할 배열의 마지막 요소의 다음을 가리키는 포인터.
"마지막 요소"가 아니라 "마지막 요소의 다음"을 가리키는 포인터를 넘기는 걸 의아하게 생각하시는 분이 있으실 것 같다.
이는 일종의 관습으로, 이렇게 하는 편이 더 쉬운 프로그래밍을 가능하게 한다하여, 이와 같이 정한 것이다.
예를 들어, 배열의 길이를 구할 땐, (마지막 요소의 다음을 가리키는 포인터) - (첫 요소를 가리키는 포인터)
를 쓰는 것이,
(마지막 요소를 가리키는 포인터) - (첫 요소를 가리키는 포인터) + 1
보다 간단하다.
(+1
이 없으므로.)
C++ 정렬에 관한: | 이전 글 없음 | 다음 글 |