ホームページ >バックエンド開発 >C++ >C++ 標準ライブラリの一般的な汎用アルゴリズムは何ですか?

C++ 標準ライブラリの一般的な汎用アルゴリズムは何ですか?

WBOY
WBOYオリジナル
2024-06-06 13:06:58967ブラウズ

C++ 標準ライブラリは、検索、カウント、並べ替え、変換、走査などの一般的なデータ操作のための汎用アルゴリズムを提供します。これらのアルゴリズムは、find()、count()、sort()、transform()、および for_each() を通じて実装され、コードが簡素化および簡略化されます。たとえば、find() を使用して要素を検索し、count() を使用して要素の出現数をカウントし、sort() を使用してコンテナを並べ替え、transform() を使用して要素を変換し、for_each() を使用して要素を反復できます。操作を実行するコンテナ。

C++ 標準ライブラリの一般的な汎用アルゴリズムは何ですか?

C++ 標準ライブラリで一般的に使用される汎用アルゴリズム

汎用アルゴリズムは、C++ 標準ライブラリで重要な役割を果たし、さまざまなデータ型に適用できる共通の操作セットを提供します。これらのアルゴリズムを使用することにより、プログラマは重複したコードの作成を回避し、コードの単純さを向上させることができます。

C++ 標準ライブラリの最も一般的な汎用アルゴリズムの一部を次に示します。

  • find(): コンテナ内の指定された要素の最初の出現を検索します。
  • count(): コンテナ内に要素が出現する回数をカウントします。
  • sort(): コンテナ内の要素を並べ替えます。
  • transform(): あるコンテナ内の要素を別のコンテナ内の要素に変換します。
  • for_each(): コンテナ内の各要素に対して操作を実行します。

実際のケース:

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

この場合:

  • find(): 要素 3 のイテレータを返します。
  • count(): 要素 3 が出現する回数 (1) を返します。
  • sort(): ベクトルを昇順に並べ替えます。
  • transform(): 各要素を 2 で乗算します。
  • for_each(): ベクトル内の各要素を 1 つずつ出力します。

以上がC++ 標準ライブラリの一般的な汎用アルゴリズムは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。