C++ 算法函数 find_first_of()

2024 年 8 月 30 日 | 阅读 2 分钟

C++ Algorithm find_first_of() 函数比较两个容器中的值,即 [first1, last1) 和 [first2, last2)。如果在 [first1, last1) 范围中找到与 [first2, last2) 范围中某个元素相似的元素,则该函数返回指向该元素的迭代器。如果两个范围中存在多个相似元素,则返回指向第一个相似元素的迭代器。如果两个范围中没有共同元素,则返回指向 last1 元素的迭代器。

语法

参数

first1:它是指向范围 [first1, last1) 中第一个元素的正向迭代器,该元素本身包含在范围内。

last1:它是指向范围 [first1, last1) 中最后一个元素的正向迭代器,该元素本身不包含在范围内。

first2:它是指向范围 [first2, last2) 中第一个元素的正向迭代器,该元素本身包含在范围内。

last2:它是指向范围 [first2, last2) 中最后一个元素的正向迭代器,该元素本身不包含在范围内。

pred:这是一个二元函数,接受两个元素作为参数并执行函数设计好的任务。

返回值

该函数返回指向范围 [first1, last1) 中第一个共同元素的迭代器,该元素也是范围 [first2, last2) 的一部分。如果找不到此类元素,则该函数返回 last1 元素。

示例 1

输出

Match 1 is: A
Match 1 is: a

示例 2

输出

First vowel has been discovered at index 1

复杂度

函数的复杂度由 count1*count2 指定。这里 countX 指定了 firstX 和 lastX 之间的距离。比较会一直进行,直到找到匹配元素。

数据竞争

这两个范围中的一些元素会被访问。

异常

如果任何参数抛出异常,则该函数会抛出异常。