直接代码:
#include<iostream> #include<string> #include<vector> #include<algorithm> #include<functional> #include<cmath> using namespace std; int main(){ int a[]={1,2,3,4,5,6,7,7,7,7,8,8,8,9,10}; vector<int>v(a,a+15); vector<int>::iterator it; it=search_n(v.begin(),v.end(),2,8); cout<<distance(v.begin(),it)<<endl; cout<<*(--it)<<endl; cout<<"********************"<<endl; it=v.begin(); it=search_n(v.begin(),v.end(),3,6,greater<int>()); cout<<*it<<endl; system("pause"); return 0; }
#include<iostream> #include<string> #include<vector> #include<algorithm> #include<functional> #include<cmath> using namespace std; bool isoushu(int elem,int){ return elem%2==0; } int main(){ int a[]={1,2,3,4,5,6,7,7,7,7,8,8,8,9,10}; vector<int>v(a,a+15); vector<int>::iterator it=v.begin(); it=search_n(v.begin(),v.end(),3,0,isoushu); cout<<distance(v.begin(),it)<<endl; system("pause"); return 0; }
#include<iostream> #include<string> #include<vector> #include<list> #include<algorithm> using namespace std; int main(){ int a[]={1,2,3,4,5,6,7,8,9,10}; vector<int>v(a,a+10); vector<int>vv(a+2,a+8); for(vector<int>::iterator itera=v.begin();itera!=v.end();++itera){ cout<<*itera<<" "; } cout<<endl; for(vector<int>::iterator iterb=vv.begin();iterb!=vv.end();++iterb){ cout<<*iterb<<" "; } cout<<endl; vector<int>::iterator it=search(v.begin(),v.end(),vv.begin(),vv.end()); if(it!=v.begin()){ cout<<"v include vv"<<endl; }else{ cout<<"v not include vv"<<endl; } cout<<*it<<endl; system("pause"); return 0; }
#include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; int main(){ int a[]={1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10}; vector<int>v(a,a+20); vector<int>vv(a+3,a+8); for(vector<int>::iterator itera=v.begin();itera!=v.end();++itera){ cout<<*itera<<" "; } cout<<endl; for(vector<int>::iterator iterb=vv.begin();iterb!=vv.end();++iterb){ cout<<*iterb<<" "; } cout<<endl; vector<int>::iterator it; it=search(v.begin(),v.end(),vv.begin(),vv.end()); while(it!=v.end()){ cout<<"found the local "<<distance(v.begin(),it)<<endl; ++it; it=search(it,v.end(),vv.begin(),vv.end()); } system("pause"); return 0; }
#include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; bool checkeven(int elem,bool even){ if(even){ return elem%2==0; }else{ return elem%2==1; } } int main(){ int a[]={1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10}; vector<int>v(a,a+20); vector<int>vv(a+3,a+8); bool check[3]={true,false,true}; vector<int>::iterator it; it=search(v.begin(),v.end(),check,check+3,checkeven); while(it!=v.end()){ cout<<"found"<<*it<<endl; ++it; it=search(it,v.end(),check,check+3,checkeven); } system("pause"); return 0; }