Maison >développement back-end >C++ >Quels sont les algorithmes génériques courants dans la bibliothèque standard C++ ?

Quels sont les algorithmes génériques courants dans la bibliothèque standard C++ ?

WBOY
WBOYoriginal
2024-06-06 13:06:58981parcourir

La bibliothèque standard C++ fournit des algorithmes génériques pour les opérations de données courantes, notamment la recherche, le comptage, le tri, la conversion et le parcours. Ces algorithmes sont implémentés via find(), count(), sort(), transform() et for_each(), simplifiant et améliorant la simplicité du code. Par exemple, vous pouvez utiliser find() pour rechercher un élément, count() pour compter le nombre d'occurrences d'un élément, sort() pour trier un conteneur, transform() pour transformer des éléments et for_each() pour parcourir le conteneur pour effectuer des opérations.

Quels sont les algorithmes génériques courants dans la bibliothèque standard C++ ?

Algorithmes génériques couramment utilisés dans la bibliothèque standard C++

Les algorithmes génériques jouent un rôle essentiel dans la bibliothèque standard C++. Ils fournissent un ensemble commun d'opérations qui peuvent être appliquées à différents types de données. En utilisant ces algorithmes, les programmeurs peuvent éviter d’écrire du code répétitif et améliorer la simplicité du code.

Voici quelques-uns des algorithmes génériques les plus courants de la bibliothèque standard C++ :

  • find() : Trouver la première occurrence d'un élément spécifié dans un conteneur.
  • count() : Compte le nombre de fois qu'un élément apparaît dans un conteneur.
  • sort() : Trie les éléments dans un conteneur.
  • transform() : Convertissez les éléments d'un conteneur en éléments d'un autre conteneur.
  • for_each() : Effectuez une opération sur chaque élément d'un conteneur.

Cas pratique :

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

int main() {
  // 创建一个 int 类型的向量
  std::vector<int> numbers{1, 2, 3, 4, 5};

  // 使用 find() 查找元素 3 的位置
  auto it = std::find(numbers.begin(), numbers.end(), 3);

  // 使用 count() 计算元素 3 出现的次数
  int count = std::count(numbers.begin(), numbers.end(), 3);

  // 使用 sort() 对向量进行升序排序
  std::sort(numbers.begin(), numbers.end());

  // 使用 transform() 将每个元素乘以 2
  std::transform(numbers.begin(), numbers.end(), numbers.begin(), [](int n) { return n * 2; });

  // 使用 for_each() 打印每个元素
  std::for_each(numbers.begin(), numbers.end(), [](int n) { std::cout << n << ' '; });

  std::cout << '\n';

  return 0;
}

Dans ce cas :

  • find() : Renvoie l'itérateur de l'élément 3.
  • count() : Renvoie le nombre de fois où l'élément 3 apparaît (1).
  • sort() : Trie le vecteur par ordre croissant.
  • transform() : Multipliez chaque élément par 2.
  • for_each() : Imprimez chaque élément du vecteur un par un.

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