STL find_if查找算法

news/2024/6/3 6:20:24 标签: C, STL, 查找, find_if

find_if() 同 find() 一样,为在输入迭代器所定义的范围内查找单个对象的算法,它可以在前两个参数指定的范围内查找可以使第三个参数指定的谓词返回 true 的第一个对象。谓词不能修改传给它的对象。

find_if() 会返回一个指向被找到对象的迭代器,如果没有找到对象,会返回这个 序列的结束迭代器。

可以按如下方式使用 find_if() 来查找 numbers 中第一个大于 value 的元素:

vector<int> numbers{ 4, 46, 51, 67, 31, 22, 14 };
int value{ 5 };
auto iter = std::find_if(std::begin(numbers), std::end(numbers), [value](int n){return n > value; });
if (iter != std::end(numbers))
	std::cout << *iter << " was found greater than " << value << ".\n";

find_if() 的第三个参数是一个 lambda 表达式的谓词。这个 lambda 表达式以值的方式捕获 value,并在 lambda 参数大于 value 时返回 true。这段代码会找到一个值为 46 的元素。


http://www.niftyadmin.cn/n/1644133.html

相关文章

C语言STM32中时间戳的简单配置

头文件&#xff1a;#include "time.h" 在time.h文件中找到&#xff1a;struct tm {int tm_sec; /* seconds after the minute, 0 to 60(0 - 60 allows for the occasional leap second) */int tm_min; /* minutes after the hour, 0 to 59 */int tm_hour; /* ho…

STL find_if_not查找算法

find_if_not() 可以在输入迭代器所定义的范围内查找单个对象&#xff0c;该算法会在前两个参数指定的范围内查找可以使第三个参数指定的谓词 返回 false 的第一个对象。谓词不能修改传给它的对象。 find_if_not() 会返回一个指向被找到对象的迭代器&#xff0c;如果没有找到对…

mac 远程连接服务器

很多刚用mac的同学 可能会纠结&#xff0c;连接远程服务器咋整&#xff1f; 有没有类型windows上的securecrt 其实&#xff0c;完全可以不用&#xff1b; mac自带的终端就可以搞定&#xff1a;终端terminal 如何连接远程服务器&#xff1f; ssh userip 如果22端口被禁止…

STM32中独立看门狗的配置

我自己使用的是独立看门狗由内部专门的 32Khz 低速时钟&#xff08;LSI&#xff09;驱动。主要自己查手册看LSI是多少就是多少。 LL库中的配置&#xff1a;void MX_IWDG_Init(void) { /* Enable APB0 indipendent Watchdog peripherals clock */LL_APB0_EnableClock(LL_APB0_P…

ST芯片使用串口 + DMA接收 + 空闲中断处理,有USART1和LPUART

普通串口&#xff1a;USART1 首先是DMA初始化 //DMA初始化 void MX_DMA_Init(void) {/* Init with LL driver *//* DMA controller clock enable */LL_AHB_EnableClock(LL_AHB_PERIPH_DMA); /* DMA interrupt init *//* DMA_IRQn interrupt configuration */NVIC_SetPriorit…

STL adjacent_find查找算法

adjacent_find() 算法可以用来搜索序列中两个连续相等的元素。用 运算符来比较连续的一对元素&#xff0c;返回的迭代器指向前两个相等元素中的第一个。如果没有一对相等的元素&#xff0c;这个算法返回这个序列的结束迭代器。例如&#xff1a; string saying {"Childre…

将多个HEX文件合并成一个HEX文件通过KEIL进行烧录

首先这多个HEX文件自己已经偏移好了&#xff0c;hex文件已经记录了偏移的地址信息。 用记事本打开第一个hex文件&#xff1a;test1.hex :020000040000FA 文件头记录 :1000000018F09FE518F09FE518F09FE518F09FE5C0 程序区开始 …… ……&…

STL find_end查找算法

find_end() 会在一个序列中查找最后一个和另一个元素段匹配的匹配项&#xff0c;也可以看作在一个元素序列中查找子序列的最后一个匹配项。这个算法会返回一个指向子序列的最后一个匹配项的第一个元素的迭代器&#xff0c;或是一个指向这个序列的结束迭代器。下面是一个示例&am…