C++ 算法 find_if() 函数
例子
在向量中查找大于 5 的值
bool greater_than_5(int value) {
return value > 5;
}
int main() {
vector<int> numbers = {1, 7, 3, 5, 9, 2};
auto it = find_if(numbers.begin(), numbers.end(), greater_than_5);
if (it != numbers.end()) {
cout << "The number " << *it << " is greater than 5.";
} else {
cout << "No numbers greater than 5 were found.";
}
return 0;
}
自己尝试 »
定义和用法
The find_if()
函数返回一个迭代器,指向数据范围内第一个匹配指定条件的值。如果没有任何值匹配条件,则它返回指向数据范围末尾的迭代器。
数据范围由迭代器指定。
条件由一个函数指定,该函数以元素的值作为参数,并返回一个布尔值,如果条件匹配则为 1,如果条件不匹配则为 0。
语法
find_if( iterator start, iterator end, function condition );
参数值
参数 | 描述 |
---|---|
start | 必需。指向要搜索的数据范围开头的迭代器。 |
end | 必需。指向要搜索的数据范围末尾的迭代器。将搜索到此位置之前的元素,但不会包含此位置的元素。 |
condition | 必需。一个函数,它以数据范围中元素的值作为参数,并返回一个布尔值。 |
技术细节
返回值 | 指向数据范围内第一个匹配指定条件的值的迭代器,或者如果没有任何值匹配条件,则指向数据范围末尾的迭代器。 |
---|
相关页面
在我们的 数据结构教程 中了解更多关于数据结构的信息。
在我们的 迭代器教程 中了解更多关于迭代器的信息。
在我们的 算法教程 中了解更多关于算法的信息。
在我们的 布尔值教程 中了解更多关于布尔值的信息。