查找算法3

#include <iostream>
#include <algorithm>
#include <deque>
#include <list>
//#include <functional>

using namespace std;

int main()
{
	deque<int> ideq;
	list<int> ilist;

	for (int i = 0; i <= 7; ++i)
		ideq.insert(ideq.end(),i);
	for (int i = 0; i <= 7; ++i)
		ideq.insert(ideq.end(),i);

	for (int i = 3; i <= 6; ++i)
		ilist.insert(ilist.end(), i);

	for (deque<int>::iterator iter = ideq.begin(); iter != ideq.end(); ++iter)
		cout << *iter << ' ';
	cout << endl;

	for (list<int>::iterator iter = ilist.begin(); iter != ilist.end(); ++iter)
		cout << *iter << ' ';
	cout << endl;

	deque<int>::iterator pos;
	pos = search(ideq.begin(), ideq.end(), ilist.begin(), ilist.end());
	while (pos != ideq.end())
	{

		cout << "找到了,位置是:" << distance(ideq.begin(), pos) + 1 << endl;
		++pos;
		pos = search(pos, ideq.end(), ilist.begin(), ilist.end());
	}

	cout << "使用find_end进行查找。" << endl;
	pos = find_end(ideq.begin(), ideq.end(), ilist.begin(), ilist.end());
	if (pos != ideq.end())
		cout << "找到了,位置是:" << distance(ideq.begin(), pos) + 1 << endl;
	else
		cout << "没有找到," << endl;



	return 0;
}

你可能感兴趣的:(查找算法3)