直接代码:
#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;
}