#include "algostuff.hpp"
using namespace std;
int main()
{
 vector<int> coll;
 list<int>searchcoll;
 INSERT_ELEMENTS(coll,1,11);
 INSERT_ELEMENTS(searchcoll,3,5);
 PRINT_ELEMENTS(coll,"coll: ");
 PRINT_ELEMENTS(searchcoll,"searchcoll: ");

 vector<int>::iterator pos;
 pos=find_first_of(coll.begin(),coll.end(),searchcoll.begin(),searchcoll.end());

//搜索既在coll的[begin,end)中出现,又在searchcoll的[begin,end)出现的第一个元素的位置
 cout<<"first element of searchcoll in coll is element "
  <<distance(coll.begin(),pos)+1
  <<endl;

 vector<int>::reverse_iterator rpos;
 rpos=find_first_of(coll.rbegin(),coll.rend(),searchcoll.begin(),searchcoll.end());//反向迭代器
 cout<<"last element of seeachcoll in coll is element "
  <<distance(coll.begin(),rpos.base())//调整为正向迭代器,计算最后一个相同元素与开头的距离
  <<endl;

}

posted on 2010-04-17 19:50  蓝牙  阅读(490)  评论(0编辑  收藏  举报