首先需要的:

  1. #include<set>
  2. using namespace std;

一、定义

set的特点是不重复、自动递增有序

  1. //与vector一样有三种
  2. set<typename> name;
  3. set<set<typename> > name;//还是不要忘了> >中间加空格
  4. set<typename> Arrayname[arraySize];

二、迭代器访问

与vector不同的是,set只能通过迭代器访问(*it)

  1. //迭代器(iterator)定义
  2. set<typename>::iterator it;
  3. //需要注意的是除了string和vector都不支持*(it + i)的访问方式,需要按照如下方式进行访问
  4. for(set<typename>::iterator it = st.begin();it != st.end();it++)
  5. {
  6. printf("%d",*it);
  7. }

三、常用函数

1. insert()

值得注意的是可以用来建立一个set
其他同vector的insert()

2. find()

find(value)返回set中对应值为value的迭代器

  1. set<typename>::iterator it = st.find(value);

3. erase()

有三种使用方法

  1. st.earse(value);//根据值来删除
  2. st.earse(it);//根据迭代器来删除
  3. st.earse(first,last)//根据区间来删除,同样的左开右闭

4. size()

同vector的size()

5. clear()

同vector的clear()