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; }