STL find 注意事项

来源:互联网 发布:html5app源码 编辑:程序博客网 时间:2024/05/22 15:17
#include <iostream>#include <string>#include <vector>#include <algorithm>#include <cstdio>using namespace std;bool cmp(const int &a){return a!=-1;}int main(){    int n=0;    cin>>n;    vector<int> vec(n);    for(int i=0;i<n;i++)cin>>vec[i];    bool flag=false;    for(vector<int>::iterator it=vec.begin() ; it!=vec.end() ; ++it){        //find函数中,如果基于左闭右开的范围[it1,it2)查找,找不到的话,结果就返回一个迭代器it2,而不是这个容器的末尾        if(it==vec.begin() && find(vec.begin()+1 , vec.end() ,*it)!=vec.end() )continue;        else if(it==(vec.end()-1) && find(vec.begin() , vec.end()-1 ,*it )!=(vec.end()-1) )continue;        else if( find(vec.begin() , it ,*it )!=it || find(it+1 , vec.end() ,*it )!=vec.end() ) continue;        cout<<*it;        flag=true;        break;    }    if(flag==false)cout<<"None";    return 0;}

原创粉丝点击