/*
// TEMPLATE FUNCTION adjacent_find
template<class _FwdIt> inline
_FwdIt _Adjacent_find(_FwdIt _First, _FwdIt _Last)
{ // find first matching successor
_DEBUG_RANGE(_First, _Last);
for (_FwdIt _Firstb; (_Firstb = _First) != _Last && ++_First != _Last; )
if (*_Firstb == *_First)
return (_Firstb);
return (_Last);
}
template<class _FwdIt> inline
_FwdIt adjacent_find(_FwdIt _First, _FwdIt _Last)
{ // find first matching successor
_ASSIGN_FROM_BASE(_First,
_Adjacent_find(_CHECKED_BASE(_First), _CHECKED_BASE(_Last)));
return (_First);
}
*/
//*********************by vincent http://my.csdn.net/sunboyiris ************************//
#include "stdafx.h"
#include "algorithm"
#include "list"
#include "iostream"
using namespace std;
bool fun(int x)
{return x%3?false:true;}
int _tmain(int argc, _TCHAR* argv[])
{
list<int> l;
for(int i=100;i<110;i++)
{
l.push_back(i);
}
for(int i=109;i<116;i++)
{
l.push_back(i);
}
//引用指针
int count1=0;
list<int>::iterator iter;
for(iter=l.begin();iter!=l.end();iter++)
{
count1++;cout<<*iter<<endl;
}
cout<<count1<<endl;
list<int>::iterator iter1=adjacent_find(l.begin(),l.end());
if(iter1!=l.end())
{
cout<<"有相邻的元素相等"<<endl;
cout<<"其元素为"<<*(iter1)<<" "<<*(++iter1)<<endl;
}
return 0;
}
STL(4)adjacent_find函数
最新推荐文章于 2024-02-19 16:38:10 发布