set集合是c++ stl库中自带的一个容器,set具有以下两个特点:
1、set中的元素都是排好序的
2、set集合中没有重复的元素
常用操作:
begin() 返回set容器的第一个元素的地址
end() 返回set容器的最后一个元素地址
clear() 删除set容器中的所有的元素
find() 返回一个指向被查找到元素的迭代器
empty() 判断set容器是否为空
max_size() 返回set容器可能包含的元素最大个数
size() 返回当前set容器中的元素个数
erase(it) 删除元素 it
insert(a) 插入某个元素 a
#include<iostream>
#include<string>
#include<iomanip>
#include<vector>
#include<algorithm>
#include<set>
using namespace std;
struct stu
{
string name;
float score;
bool operator<(const stu &a)const
{
return a.score<score;
}
};
struct ss
{
bool operator()(const int &a,const int &b)
{
return a>b;
}
};
int main()
{
set<stu> s;
stu t;
t.name="zhang san";
t.score=85.2;
s.insert(t);
t.name="li si";
t.score=69.3;
s.insert(t);
t.name="wan wu";
t.score=74.22;
s.insert(t);
set<stu>::iterator it;
for(it=s.begin();it!=s.end();it++)
cout<<(*it).name<<":"<<(*it).score<<endl;
set<int,ss> s;
s.insert(4);
s.insert(8);
s.insert(6);
s.insert(7);
set<int,ss>:: iterator it;
for(it=s.begin();it!=s.end();it++)
cout<<*it<<endl;
return 0;
}