Maison  >  Article  >  développement back-end  >  Explorez les algorithmes itératifs en C++

Explorez les algorithmes itératifs en C++

WBOY
WBOYoriginal
2023-08-21 21:54:481106parcourir

C++ est un langage de programmation populaire qui fournit de nombreux algorithmes itératifs pour traiter les données de collecte. Dans cet article, nous explorerons les détails des algorithmes itératifs en C++.

Qu'est-ce qu'un algorithme itératif ?

Un algorithme itératif est un algorithme basé sur l'application répétée d'un processus ou d'instructions. En programmation, les boucles sont l’un des algorithmes itératifs les plus couramment utilisés. L'itération fait référence à l'approche progressive du résultat souhaité en effectuant à plusieurs reprises la même opération. En programmation, les instructions de boucle sont souvent utilisées pour effectuer des itérations.

Algorithmes d'itération en C++

En C++, la bibliothèque standard fournit un certain nombre d'algorithmes d'itération différents qui utilisent des itérateurs pour accéder aux éléments d'un conteneur.

Un itérateur est un objet pointeur qui peut accéder aux éléments d'un conteneur. Les itérateurs permettent de parcourir les éléments dans un conteneur et nous permettent de traiter les données.

Voici quelques algorithmes itératifs couramment utilisés dans la bibliothèque standard C++ :

  1. for_each

for_each est un algorithme simple et utile qui exécute une fonction sur chaque élément dans un conteneur donné.

Voici un exemple :

#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;
}

Ce programme affichera 1 2 3 4 5. L'algorithme

  1. find

find est utilisé pour rechercher des éléments dans un conteneur et renvoie un itérateur du premier élément correspondant.

Voici un exemple :

#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;
}

Ce programme affichera Found 3.

  1. tri

L'algorithme de tri est utilisé pour trier les éléments du conteneur en fonction de la fonction de comparaison spécifiée.

Voici un exemple :

#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;
}

Ce programme affichera 1 2 3 4 5 6 7. L'algorithme

  1. accumulate

accumulate est utilisé pour accumuler des éléments dans un conteneur jusqu'à une valeur initiale.

Voici un exemple :

#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;
}

Ce programme affichera Somme : 15.

  1. transform

L'algorithme de transformation est utilisé pour appliquer une fonction aux éléments d'un conteneur et stocker le résultat dans un autre conteneur.

Voici un exemple :

#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;
}

Ce programme affichera 1 4 9 16 25.

Résumé

L'algorithme itératif est un algorithme populaire adapté au traitement de données d'ensemble. En C++, la bibliothèque standard fournit un certain nombre d'algorithmes d'itération différents qui constituent un moyen pratique de traiter les éléments d'un conteneur. Nous pouvons utiliser ces algorithmes pour parcourir, rechercher et modifier des éléments dans un conteneur. La maîtrise de l'algorithme itératif en C++ peut nous aider à mieux traiter les données de collecte et à améliorer l'efficacité de notre programmation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn