set是一种包含已排序集合的容器,对集合里的元素进行去重排序
1.基本操作
#include<iostream>
#include<set>//头文件
using namespace std;
int main()
{
set<int>st;//创建set对象
st.insert(1);//插入元素
st.insert(4);
st.insert(3);
st.insert(9);
st.insert(5);
st.insert(7);
st.insert(7);
cout<<st.count(7)<<endl;
cout<<st.empty()<<endl;
cout<<*(st.find(7)--)<<endl;
cout<<st.size()<<endl;//返回集合中元素个数
st.erase(3);//删除集合中的某个元素
set<int>::iterator it;//迭代器访问集合
for(it = st.begin();it != st.end();it++)
cout<<*it<<" ";
cout<<endl;
cout<<*st.lower_bound(3)<<endl;//返回集合里一个大于等于3的数
cout<<*st.upper_bound(3)<<endl;//返回集合里一个大于3的数
return 0;
}
2.对输入的数进行去重并排序
输入样例:
5
4 3 2 1 1
输出样例
1 2 3 4
#include<iostream>
#include<set>
using namespace std;
int main()
{
int i = 0;
int a = 0;
int n = 0;
cin>>n;
set<int> rank;
for(i=0;i<n;i++)
{
cin>>a;
rank.insert(a);
}
set<int>::iterator it;
for(it=rank.begin();it!=rank.end();it++)
cout<<*it<<" ";
return 0;
}