C++ STL コンテナー内の要素を見つけるにはどうすればよいですか?

王林
リリース: 2024-06-05 19:44:11
オリジナル
929 人が閲覧しました

C++ STL コンテナ内の要素を検索するには、次のメソッドを使用できます: find() 関数: 指定された値に一致する最初の要素を検索します。 find_if() 関数: 指定された条件を満たす最初の要素を検索します。 count() 関数: 指定された値と等しいコンテナ内の要素の数を返します。

如何查找C++ STL容器中的元素?

C++ STL コンテナーで要素を見つける方法

C++ では、STL (標準テンプレート ライブラリ) は、データを保存および管理するための強力なコンテナー クラスのセットを提供します。コンテナ内の要素を検索することは一般的なタスクの 1 つであり、STL はこの目的のためにいくつかのメソッドを提供します。

find() 関数

find() 関数は、指定された値に一致する最初の要素を検索するために使用されます。すべての連続コンテナ (vectorlist など) および連想コンテナ (mapset など) の場合、効率的です。 。 find() 函数用于查找第一个与指定值匹配的元素。对于所有序列式容器(例如 vectorlist)和关联式容器(例如 mapset)都有效。

#include <vector>

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

  // 查找元素 5
  auto it = std::find(v.begin(), v.end(), 5);

  // 如果元素找到,it 将指向该元素
  if (it != v.end()) {
    std::cout << "元素 5 找到" << std::endl;
  } else {
    std::cout << "元素 5 未找到" << std::endl;
  }

  return 0;
}
ログイン後にコピー

find_if() 函数

find_if() 函数用于查找第一个满足指定条件的元素。它接受一个谓词(一个返回布尔值的函数)作为参数。

#include <vector>

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

  // 查找第一个大于 5 的元素
  auto it = std::find_if(v.begin(), v.end(), [](int x) { return x > 5; });

  // 如果元素找到,it 将指向该元素
  if (it != v.end()) {
    std::cout << "第一个大于 5 的元素为 " << *it << std::endl;
  } else {
    std::cout << "没有找到大于 5 的元素" << std::endl;
  }

  return 0;
}
ログイン後にコピー

count() 函数

count()

#include <vector>

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

  // 计算元素 1 出现的次数
  int count = std::count(v.begin(), v.end(), 1);

  std::cout << "元素 1 出现的次数为 " << count << std::endl;

  return 0;
}
ログイン後にコピー
🎜find_if() 関数 🎜🎜🎜find_if() この関数は、指定された条件を満たす最初の要素を検索するために使用されます。述語 (ブール値を返す関数) を引数として受け取ります。 🎜rrreee🎜🎜count() 関数 🎜🎜🎜count() この関数は、指定された値と等しいコンテナ内の要素の数を返します。 🎜りー

以上がC++ STL コンテナー内の要素を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!