stl-set

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


猜你喜欢

转载自blog.csdn.net/u013377068/article/details/80989980