#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool doubled(int elem1, int elem2)
{
return elem1 * 2 == elem2;
}
int main()
{
vector<int> ivec;
ivec.push_back(1);
ivec.push_back(3);
ivec.push_back(3);
ivec.push_back(5);
ivec.push_back(5);
ivec.push_back(5);
ivec.push_back(7);
ivec.push_back(8);
auto pos = adjacent_find(ivec.begin(), ivec.end());//找连续相等的
if (pos != ivec.end())
cout << "fins ok:" << distance(ivec.begin(), pos) + 1 << endl;
//用一个谓词去找
//找连续的两个数,第一个数是第二个数的两倍
auto pos1 = adjacent_find(ivec.begin(), ivec.end(), doubled);
if (pos1 != ivec.end())
cout << "fins ok:" << distance(ivec.begin(), pos1) + 1 << endl;
else
cout << "error" << endl;
system("pause");
return 0;
}
查找-5
猜你喜欢
转载自blog.csdn.net/weixin_42655231/article/details/82798311
今日推荐
周排行