본문 바로가기
카테고리 없음

STL 정렬 sort 함수 사용법 & 예제 (오름차순 , 내림차순)

by nono22 2023. 11. 29.

STL 정렬 sort 함수 사용법 & 예제 (오름차순, 내림차순)

STL 라이브러리의 헤더 파일에는 배열, 벡터, 리스트 등의 컨테이너에 저장된 데이터를 정렬하는 sort 함수가 정의되어 있습니다. 이번 포스팅에서는 sort 함수의 사용법과 예제를 소개하겠습니다.

sort 함수 사용법

sort 함수의 일반적인 형식은 다음과 같습니다:

sort(first, last, comp);
  • first: 정렬을 시작할 요소의 처음 위치를 가리키는 반복자
  • last: 정렬을 마칠 요소의 다음 위치를 가리키는 반복자
  • comp: 비교 함수로, 선택적으로 사용할 수 있습니다. 기본적으로 오름차순으로 정렬됩니다.

만약 정렬할 요소가 배열이나 벡터 등의 컨테이너에 저장되어 있다면, first는 컨테이너의 begin() 함수를 이용해 첫 번째 요소를 가리키는 반복자로 설정하고, last는 컨테이너의 end() 함수를 이용해 마지막 요소의 다음 위치를 가리키는 반복자로 설정합니다.

오름차순 정렬 예제

아래는 오름차순으로 정렬하는 간단한 예제 코드입니다:

#include <algorithm>
#include <vector>

int main() {
    std::vector<int> numbers = {5, 2, 8, 1, 9, 3};

    std::sort(numbers.begin(), numbers.end());

    for (const int& num : numbers) {
        std::cout << num << " ";
    }

    return 0;
}

위의 예제에서는 sort 함수에 컨테이너의 begin()과 end()를 인자로 전달하여 벡터를 오름차순으로 정렬하였습니다. 결과는 1 2 3 5 8 9가 출력됩니다.

내림차순 정렬 예제

내림차순으로 정렬하려면 비교 함수를 사용해야 합니다. 아래는 내림차순으로 정렬하는 예제 코드입니다:

#include <algorithm>
#include <vector>

bool descending(int a, int b) {
    return a > b;
}

int main() {
    std::vector<int> numbers = {5, 2, 8, 1, 9, 3};

    std::sort(numbers.begin(), numbers.end(), descending);

    for (const int& num : numbers) {
        std::cout << num << " ";
    }

    return 0;
}

위의 예제에서는 descending 함수를 비교 함수로 사용하여 벡터를 내림차순으로 정렬하였습니다. 결과는 9 8 5 3 2 1이 출력됩니다.

마무리

sort 함수는 STL의 헤더 파일에 포함된 유용한 함수 중 하나로, 배열이나 컨테이너의 요소를 빠르고 쉽게 정렬할 수 있게 도와줍니다. 이 포스팅에서는 sort 함수의 사용법과 오름차순, 내림차순 정렬 예제를 소개했습니다. 이를 참고하여 필요한 경우 sort 함수를 효과적으로 사용해보세요.

댓글