C++ 算法 中的 find_if_not函数

首页 / C++入门教程 / C++ 算法 中的 find_if_not函数

C++算法find_if_not()函数返回pred值为false的参数内第一个元素的值,否则给出参数的最后一个元素。

find_if_not - 语法

template <class InputIterator, class UnaryPredicate>
InputIterator find_if_not (InputIterator first, InputIterator last, UnaryPredicate pred);

find_if_not - 参数

first:它指定参数的第一个元素。

last:它指定参数的最后一个元素。

pred :通常是一元函数,对其参数值进行检查以返回布尔值答案。

find_if_not - 返回值

该函数将迭代器返回到pred值为false的参数的第一个元素。如果找不到这样的元素,则该函数返回最后一个元素。

find_if_not - 例子1

#include<iostream>
#include<algorithm>
#include<array>
int main()
{
	std::array<int,6> a={6,7,8,9,10};
	std::array<int,6>::iterator ti=std::find_if_not (a.begin(), a.end(), [](int k){return k%2;} );
	std::cout<<"In the range given the very first even value is "<<*ti<<"\n";
	return 0;
}

输出:

In the range given the very first even value is 6

find_if_not - 例子2

#include<iostream>
#include<algorithm>
#include<vector>
bool isEven (int i)
{
	return((i%2)==0);
}
int main()
{
	std::vector<int> newvector {20, 35, 50, 65};
	std::vector<int>::iterator ti;
	ti= std::find_if(newvector.begin(),newvector.end(),isEven);
	std::cout<<"Out of the given elements, first even element is  "<<*ti<<"\n";
	std::vector<int>::iterator tie;
	tie=std::find_if_not(newvector.begin(), newvector.end(), isEven);
	std::cout<<"Out of the given elements, first odd element is "<<*tie<<"\n";
	return 0;

}

输出:

Out of the given elements, first odd element is 20
Out of the given elements, first odd element is 35

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

赵成的运维体系管理课 -〔赵成〕

许式伟的架构课 -〔许式伟〕

Node.js开发实战 -〔杨浩〕

JavaScript核心原理解析 -〔周爱民〕

Selenium自动化测试实战 -〔郭宏志〕

Vim 实用技巧必知必会 -〔吴咏炜〕

Go 并发编程实战课 -〔晁岳攀(鸟窝)〕

技术面试官识人手册 -〔熊燚(四火)〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

好记忆不如烂笔头。留下您的足迹吧 :)