>백엔드 개발 >C++ >C++의 반복 알고리즘 살펴보기

C++의 반복 알고리즘 살펴보기

WBOY
WBOY원래의
2023-08-21 21:54:481169검색

C++는 컬렉션 데이터를 처리하기 위한 다양한 반복 알고리즘을 제공하는 인기 있는 프로그래밍 언어입니다. 이번 글에서는 C++의 반복 알고리즘에 대해 자세히 살펴보겠습니다.

반복 알고리즘이란 무엇인가요?

반복 알고리즘은 프로세스나 명령의 반복 적용을 기반으로 하는 알고리즘입니다. 프로그래밍에서 루프는 가장 일반적으로 사용되는 반복 알고리즘 중 하나입니다. 반복이란 동일한 작업을 반복적으로 수행하여 원하는 결과에 점진적으로 접근하는 것을 말합니다. 프로그래밍에서는 반복문을 사용하여 반복을 수행하는 경우가 많습니다.

C++의 반복 알고리즘

C++에서 표준 라이브러리는 반복자를 사용하여 컨테이너의 요소에 액세스하는 다양한 반복 알고리즘을 제공합니다.

반복자는 컨테이너의 요소에 액세스할 수 있는 포인터 개체입니다. 반복자는 컨테이너의 요소 순회를 제공하고 데이터를 처리할 수 있도록 해줍니다.

다음은 C++ 표준 라이브러리에서 일반적으로 사용되는 몇 가지 반복 알고리즘입니다.

  1. for_each

for_each는 지정된 컨테이너의 각 요소에 대해 기능을 수행하는 간단하고 유용한 알고리즘입니다.

여기 예가 있습니다:

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

void display(int i) {
    std::cout << i << " ";
}

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    std::for_each(v.begin(), v.end(), display);
    return 0;
}

이 프로그램은 1 2 3 4 5를 출력합니다.

  1. find

find 알고리즘은 컨테이너에서 요소를 찾는 데 사용되며 첫 번째로 일치하는 요소의 반복자를 반환합니다.

여기 예가 있습니다:

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

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    auto i = std::find(v.begin(), v.end(), 3);
    if (i != v.end()) {
        std::cout << "Found " << *i << std::endl;
    }
    return 0;
}

이 프로그램은 Found 3을 출력합니다.

  1. sort

정렬 알고리즘은 지정된 비교 함수에 따라 컨테이너의 요소를 정렬하는 데 사용됩니다.

여기 예가 있습니다:

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

int main() {
    std::vector<int> v {5,2,7,4,3,6,1};
    std::sort(v.begin(), v.end());
    for (int i : v) {
        std::cout << i << " ";
    }
    return 0;
}

이 프로그램은 1 2 3 4 5 6 7을 출력합니다.

  1. accumulate

accumulate 알고리즘은 컨테이너의 요소를 초기 값으로 누적하는 데 사용됩니다.

여기 예가 있습니다:

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

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    int sum = std::accumulate(v.begin(), v.end(), 0);
    std::cout << "Sum: " << sum << std::endl;
    return 0;
}

이 프로그램은 합계: 15를 출력합니다.

  1. transform

변환 알고리즘은 컨테이너의 요소에 함수를 적용하고 결과를 다른 컨테이너에 저장하는 데 사용됩니다.

여기 예가 있습니다:

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

int square(int i) {
    return i * i;
}

int main() {
    std::vector<int> v {1, 2, 3, 4, 5};
    std::vector<int> v2(v.size());
    std::transform(v.begin(), v.end(), v2.begin(), square);
    for (int i : v2) {
        std::cout << i << " ";
    }
    return 0;
}

이 프로그램은 1 4 9 16 25를 출력합니다.

요약

반복 알고리즘은 집합 데이터 처리에 적합한 인기 있는 알고리즘입니다. C++에서 표준 라이브러리는 컨테이너의 요소를 처리하는 편리한 방법을 제공하는 다양한 반복 알고리즘을 제공합니다. 이러한 알고리즘을 사용하여 컨테이너의 요소를 탐색하고 찾고 수정할 수 있습니다. C++의 반복 알고리즘에 능숙하면 수집 데이터를 더 잘 처리하고 프로그래밍 효율성을 향상시키는 데 도움이 될 수 있습니다.

위 내용은 C++의 반복 알고리즘 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C++의 XML 처리 기술다음 기사:C++의 XML 처리 기술