查找算法-2

~~`#include
#include
#include
#include
#include

using namespace std;

int main()
{

deque<int> ideq;
for (int i = 1; i <= 9; ++i)
	ideq.push_back(i);
for (auto i = 1; i <= 9; ++i)
{
	ideq.push_back(i);
}
ideq.push_back(3);
ideq.push_back(3);
ideq.push_back(3);
ideq.push_back(3);
ideq.push_back(6);
ideq.push_back(6);
ideq.push_back(6);
ideq.push_back(6);
for (deque<int>::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
{
	cout << *iter << " ";
}
cout << endl;

auto pos=search_n(ideq.begin(), ideq.end(), 4, 3);//找4个3
if (pos != ideq.end())
{
	cout << "find ok" << endl;
}
else
{
	cout << "find fail" << endl;
}
//有时候要知道哪个下标找到了值
cout << "在哪个下标里边找到了4个3:" << distance(ideq.begin(), pos) + 1 << endl;
//很多容器没有下标
auto pos2 = search_n(ideq.begin(), ideq.end(), 3, 6,greater<int>());//连续的三个大于6
if (pos2 != ideq.end())
{
	cout << "find ok" << endl;
}
else
{
	cout << "find fail" << endl;
}
/*auto pos4 = search_n_if(ideq.begin(), ideq.end(), bing2nd(greater)(), 6)*/;
system("pause");
return 0;

}`~~

猜你喜欢

转载自blog.csdn.net/weixin_42655231/article/details/82793796