代碼如下:
#include<iostream>#include<string>#include<vector>#include<algorithm>#include<functional>using namespace std;int main(){int a[]={1,2,3,4,5,6,6,8,9,10};vector<int>v(a,a+10);vector<int>vv(a+3,a+8);vector<int>::iterator it;it=adjacent_find(v.begin(),v.end());//尋找兩個連續且相等的元素,在這一點上,有一點像search_n(v.begin(),v.end(),2,X);if(it!=v.end()){cout<<"found the two number equals"<<endl;cout<<*it<<endl;}else{cout<<"none"<<endl;}system("pause");return 0;}
#include<iostream>#include<string>#include<vector>#include<algorithm>#include<functional>bool liangbei(int a,int b){return 2*a==b;}using namespace std;int main(){int a[]={1,2,3,4,5,6,6,8,9,10};vector<int>v(a,a+10);vector<int>vv(a+3,a+8);vector<int>::iterator it;it=adjacent_find(v.begin(),v.end(),liangbei);if(it!=v.end()){cout<<"找到了第一個合格兩個連續的元素,其中後一個是前一個元素的兩倍"<<endl;cout<<*it<<" "<<*(it+1)<<endl;}else{cout<<"沒有找到"<<endl;}system("pause");return 0;}
#include<iostream>#include<string>#include<vector>#include<algorithm>#include<functional>using namespace std;int main(){int a[]={1,2,3,4,5,6,7,8,9,10};int b[]={2,3,4,5,6,7,8,9,10,11};vector<int>v(a,a+10);vector<int>vv(b,b+10);vector<int>vvv(a,a+10);if(equal(v.begin(),v.end(),vv.begin())){cout<<"v=vv"<<endl;}else{cout<<"v!=vv"<<endl;}if(equal(v.begin(),v.end(),vvv.begin())){cout<<"v=vvv"<<endl;}else{cout<<"v!=vvv"<<endl;}system("pause");return 0;}
#include<iostream>#include<string>#include<vector>#include<algorithm>#include<functional>using namespace std;bool jianyi(int a,int b){return a==b-1;}int main(){int a[]={1,2,3,4,5,6,7,8,9,10};int b[]={2,3,4,5,6,7,8,9,10,11};vector<int>v(a,a+10);vector<int>vv(b,b+10);vector<int>vvv(a,a+10);if(equal(v.begin(),v.end(),vv.begin(),jianyi)){cout<<"vv中的每個元素減去一 與V的元素相等"<<endl;}else{cout<<"還是不相等"<<endl;}system("pause");return 0;}