📜  C++ STL-algorithm.neighbor_find()函数(1)

📅  最后修改于: 2023-12-03 15:13:55.307000             🧑  作者: Mango

C++ STL-algorithm.neighbor_find()函数

简介

neighbor_find()函数是C++ STL中的一个算法函数,它可以在指定范围内查找相邻元素并返回它们的迭代器。

函数原型
template< class ForwardIt >
ForwardIt adjacent_find( ForwardIt first, ForwardIt last );
参数
  • first: 要查找的元素的起始位置。
  • 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算法中很容易地查找相邻元素,同时也可以为您的程序提高一些性能。