C++ STL コンテナ内の要素を検索するには、次のメソッドを使用できます: find() 関数: 指定された値に一致する最初の要素を検索します。 find_if() 関数: 指定された条件を満たす最初の要素を検索します。 count() 関数: 指定された値と等しいコンテナ内の要素の数を返します。
C++ STL コンテナーで要素を見つける方法
C++ では、STL (標準テンプレート ライブラリ) は、データを保存および管理するための強力なコンテナー クラスのセットを提供します。コンテナ内の要素を検索することは一般的なタスクの 1 つであり、STL はこの目的のためにいくつかのメソッドを提供します。
find() 関数
find()
関数は、指定された値に一致する最初の要素を検索するために使用されます。すべての連続コンテナ (vector
や list
など) および連想コンテナ (map
や set
など) の場合、効率的です。 。 find()
函数用于查找第一个与指定值匹配的元素。对于所有序列式容器(例如 vector
和 list
)和关联式容器(例如 map
和 set
)都有效。
#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()
この関数は、指定された条件を満たす最初の要素を検索するために使用されます。述語 (ブール値を返す関数) を引数として受け取ります。 🎜rrreee🎜🎜count() 関数 🎜🎜🎜count()
この関数は、指定された値と等しいコンテナ内の要素の数を返します。 🎜りー以上がC++ STL コンテナー内の要素を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。