set是一个能储存单键的容器;
它最大的特性就是那个键最多出现一次;
set有很多操作
1.构造
2.插入
3.遍历
4.查找和读取
5.删除
#include<stdio.h>
#include<string.h>
#include<string>
#include<algorithm>
#include<iostream>
#include<set>
#define mmset(a,b) memset(a,sizeof(b),a);
using namespace std;
int main()
{
set <string> data; //1.构造键类型为string的一个set容器
//2.插入
data.insert("ddd"); //在容器内部并不是按照插入的顺序排序的,而是
data.insert("eee"); //按照关键字从小到大排序的
data.insert("aaa");
data.insert("bbb");
data.insert("ccc");
;
//3.遍历
//正向遍历
set <string> ::iterator iter;
for(iter = data.begin(); iter != data.end(); iter++)
{
cout<<*iter<<endl; //迭代器iter可以当做指针, 所以在输出值
//之前要解引用
}
//反向遍历
set <string>:: reverse_iterator riter;
for(riter= data.rbegin(); riter != data.rend(); riter++)
{
cout<<*riter<<endl;
}
//4.查找和读取
//查找
cout<<data.count("aaa") <<endl; //若存在查找的值输出1,不存在输出0
cout<<data.count("ccc")<<endl;
//读取
cout<<*(data.find("aaa"))<<endl; //find返回带查找的值在容器内的迭代器
//若不存在程序会崩溃
//5.删除
data.erase(data.find("aaa")); //删除数据"aaa"
data.erase(data.begin(),data.end());//把迭代器从begin到end之间的内容全部清除
return 0;
}