Maison  >  Article  >  développement back-end  >  Comment utiliser les algorithmes STL pour opérer sur des conteneurs STL C++ ?

Comment utiliser les algorithmes STL pour opérer sur des conteneurs STL C++ ?

WBOY
WBOYoriginal
2024-06-03 11:30:04309parcourir

Processus d'algorithme STL pour faire fonctionner les conteneurs STL C++ : choisissez l'algorithme approprié : choisissez l'algorithme STL en fonction de l'opération requise, comme trouver la valeur maximale, copier des éléments ou trier. Déterminer les itérateurs d’entrée et de sortie : spécifiez les plages d’itérateurs des conteneurs d’entrée et de sortie. Fournissez un objet fonction binaire : définissez un foncteur pour effectuer l'opération élément par élément souhaitée. Appel d'un algorithme : utilisez la fonction algorithm() pour appeler l'algorithme sélectionné, en transmettant la plage de l'itérateur et le foncteur.

如何使用STL算法对C++ STL容器进行操作?

Comment utiliser les algorithmes STL pour faire fonctionner les conteneurs STL C++

La bibliothèque de modèles standard (STL) fournit un ensemble puissant d'algorithmes en C++ pour les conteneurs de séquences d'exploitation (tels que vecteur, liste et carte). Ces algorithmes sont conçus pour fournir un mécanisme efficace et réutilisable pour effectuer des tâches courantes de traitement de données. vectorlistmap)。这些算法的设计目的是提供一种高效且可重复使用的机制来执行常见的数据处理任务。

基本语法

STL算法遵循以下语法:

template<typename InputIterator, typename OutputIterator, typename Function>
OutputIterator algorithm(InputIterator first, InputIterator last, OutputIterator result, Function op);

其中:

  • InputIteratorOutputIterator指定了输入和输出容器的迭代器类型。
  • firstlast是输入容器的迭代器范围。
  • result是输出容器的迭代器。
  • op
  • Syntaxe de base

L'algorithme STL suit la syntaxe suivante :

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

using namespace std;

int main() {
  vector<int> numbers = {1, 3, 5, 7, 9};

  auto max_value = *max_element(numbers.begin(), numbers.end());

  cout << "最大值:" << max_value << endl;

  return 0;
}

输出:

où :

  • InputIterator et OutputIterator spécifient les itérateurs de l'entrée et type de conteneurs de sortie.

  • first et last sont les plages d'itérateurs du conteneur d'entrée.
  • result est l'itérateur du conteneur de sortie.

  • op est un objet fonction binaire (foncteur) utilisé pour effectuer des opérations sur les éléments d'entrée.

    Cas pratique

    1. Trouver la valeur maximale

    **2. 复制元素**
    

    Valeur maximale : 9

    cout << num << " ";

    inclure 143a29af999ead777ba15478252a03f6

    inclure 317e6b6395ab75e70e7f0880af8f6835

    inclure 79d99514994683eeb9da078dfb0f130c

    en utilisant l'espace de noms std ;

    int main() {

    vectorbd43222e33876353aff11e13a7dc75f6 number = {1, 3, 5, 7, 9};

    vectorbd43222e33876353aff11e13a7dc75f6 copy;

    copy.reserve(numbers.size()); Pour améliorer l'efficacité


    copy_n(numbers.begin(),numbers.size(), back_inserter(copy));

    for (int num : copy) {

    1 3 5 7 9

    }cout <<

    return 0;

    }🎜🎜Sortie : 🎜
    #include 
    #include 
    #include 
    
    using namespace std;
    
    int main() {
      vector numbers = {5, 1, 3, 7, 2};
    
      sort(numbers.begin(), numbers.end());
    
      for (int num : numbers) {
        cout << num << " ";
      }
    
      cout << endl;
    
      return 0;
    }
    
    输出:
    🎜🎜3 Trier🎜🎜rrreee🎜1 2 3 5 7🎜.
  • 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