begin():返回set容器的第一个元素的地址
end():返回set容器的最后一个元素地址
clear():删除set容器中的所有的元素
empty():判断set容器是否为空
max_size():返回set容器可能包含的元素最大个数
size():返回当前set容器中的元素个数
erase(it):删除迭代器指针it处元素
insert(a):插入某个元素
#include <iostream>
#include<set>
using namespace std;
int main()
{
set<int> s; //创建一个int类型的set
s.insert(10); //插入数据
s.insert(30);
s.insert(20);
s.insert(40);
//遍历数据,用迭代器遍历数据
for (set<int>::iterator it = s.begin(); it != s.end(); ++it)
{
cout << *it << endl;
}
//这里用到了set中的元素已经从小到大排好序的性质
return 0;
}
结构体类型(struct )的set ,使用时必须要重载 ‘<’ 运算符
//可以跑一下代码试试
#include<iostream>
#include<set>
#include<string>
using namespace std;
struct Info
{
string name;
double score;
bool operator < (const Info &x) const // 重载“<”操作符,自定义排序规则
{
//按score由大到小排序。如果要由小到大排序,使用“>”即可。
return x.score < score;
}
};
int main()
{
set<Info> s;
Info info;
//插入三个元素
info.name = "Jack";
info.score = 80;
s.insert(info);
info.name = "Tom";
info.score = 99;
s.insert(info);
info.name = "Steaven";
info.score = 60;
s.insert(info);
set<Info>::iterator it;
for(it = s.begin(); it != s.end(); it++)
cout << (*it).name << " : " << (*it).score << endl;
return 0;
}
本文详细介绍了C++标准库中set容器的基本操作方法,包括插入、遍历、删除等,并展示了如何自定义排序规则实现结构体类型的存储。
4843





