查找算法3

来源:互联网 发布:oracle rowid数据删重 编辑:程序博客网 时间:2024/04/29 15:45
#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;elsecout << "没有找到," << endl;return 0;}

0 0