📅  最后修改于: 2023-12-03 15:13:55.307000             🧑  作者: Mango
neighbor_find()函数是C++ STL中的一个算法函数,它可以在指定范围内查找相邻元素并返回它们的迭代器。
template< class ForwardIt >
ForwardIt adjacent_find( ForwardIt first, ForwardIt last );
如果找到相邻的元素,则返回指向左侧元素的迭代器;否则,返回last。
该函数按顺序遍历[first,last),查找相邻的两个元素,如果它们相等,则返回指向第一个相邻元素的迭代器。
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
std::vector<int> v = {0, 1, 2, 3, 4, 5, 4, 3, 2, 1};
auto it = std::adjacent_find(v.begin(), v.end());
if(it == v.end()){
std::cout << "No matching adjacent elements\n";
} else {
std::cout << "First adjacent repeated elements are: " << *it << '\n';
}
return 0;
}
在上面的示例中,我们定义了一个vector容器。 然后使用adjacent_find()函数在容器中找到相邻的元素。
在运行上述代码时输出结果如下:
First adjacent repeated elements are: 4
这就是neighbor_find()函数的介绍。使用该函数可以在STL算法中很容易地查找相邻元素,同时也可以为您的程序提高一些性能。