[c++] STL 알고리즘 사용 예시

C++ 표준 라이브러리(STL)는 다양한 유용한 알고리즘을 포함하고 있습니다. 이 글에서는 간단한 예시를 통해 몇 가지 STL 알고리즘을 사용하는 방법을 설명하겠습니다.

1. std::sort를 사용한 정렬

std::sort 함수를 사용하여 벡터 내의 원소들을 정렬할 수 있습니다.

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {5, 2, 8, 1, 3};
    
    std::sort(numbers.begin(), numbers.end());
    
    for (const auto& num : numbers) {
        std::cout << num << " ";
    }
    
    return 0;
}

출력:

1 2 3 5 8

2. std::find를 사용한 검색

std::find 함수를 사용하여 벡터 내에서 원하는 원소를 검색할 수 있습니다.

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {5, 2, 8, 1, 3};
    
    auto it = std::find(numbers.begin(), numbers.end(), 8);
    
    if (it != numbers.end()) {
        std::cout << "원소를 찾았습니다: " << *it;
    } else {
        std::cout << "원소를 찾지 못했습니다.";
    }
    
    return 0;
}

출력:

원소를 찾았습니다: 8

3. std::accumulate를 사용한 누적합 계산

std::accumulate 함수를 사용하여 벡터의 원소들을 누적합하여 계산할 수 있습니다.

#include <iostream>
#include <vector>
#include <numeric>

int main() {
    std::vector<int> numbers = {5, 2, 8, 1, 3};
    
    int sum = std::accumulate(numbers.begin(), numbers.end(), 0);
    
    std::cout << "누적합: " << sum;
    
    return 0;
}

출력:

누적합: 19

이렇게 C++ STL 알고리즘을 사용하여 간단하게 정렬, 검색, 누적합 등의 연산을 수행할 수 있습니다. 자세한 내용은 cplusplus.com을 참고할 수 있습니다.