①方法一
用st.insert(x).second进行判断
#include<iostream>
#include<algorithm>
#include<set>
using namespace std;
set<int> st;
int main(){
if(st.insert(2).second){
cout<<"2插入成功"<<endl;
}
if(st.insert(2).second){
cout<<"2插入成功"<<endl;
}
else cout<<"2插入失败"<<endl;
return 0;
}
②
返回类型 pair<set<int>::iterator,bool>(假设插入整型)
要先构造迭代器 pair<set<int>::iterator,bool> p; p=st.insert(x); 再通过p.second进行判断
不然可能会编译错误
#include<iostream>
#include<set>
using namespace std;
set <int>st;
int main(){
int n;
cin>>n;
int x;
pair<set<int>::iterator,bool> p;//iterator迭代器
for(int i=0;i<n;i++){
cin>>x;
p=st.insert(x);
if(p.second) cout<<x<<"插入成功";
else cout<<x<<"插入失败";
}
return 0;
}