Sets是一个储存元素的容器,其中每个元素最多只出现一次,元素遵循一个特定的顺序。元素一旦被放入次容器将不能被修改(修改元素的值),但是可以对元素进行插入和移除操作。Set内部的元素遵循严格弱排序,因此在寻找元素的时候比unordered_map稍微慢一些,但是可以直接通过指针操作子分组,set是一个典型的二分搜索树的应用。

 

begin()--返回指向第一个元素的迭代器

clear()--清除所有元素

count()--返回某个值元素的个数

empty()--如果集合为空,返回true

end()--返回指向最后一个元素的迭代器

equal_range()--返回集合中与给定值相等的上下限的两个迭代器

erase()--删除集合中的元素

find()--返回一个指向被查找到元素的迭代器

get_allocator()--返回集合的分配器

insert()--在集合中插入元素

lower_bound()--返回指向大于(或等于)某值的第一个元素的迭代器

key_comp()--返回一个用于元素间值比较的函数

max_size()--返回集合能容纳的元素的最大限值

rbegin()--返回指向集合中最后一个元素的反向迭代器

rend()--返回指向集合中第一个元素的反向迭代器

size()--集合中元素的数目

swap()--交换两个集合变量

upper_bound()--返回大于某个值元素的迭代器

value_comp()—返回一个用于比较元素间的值的函数

example

#include <iostream>

#include <set>

using namespace std;

int main() {

    int arr[] = {10, 20, 30, 40, 30, 50};
    set<int> se(arr, arr+6);

    se.insert(60);
    se.insert(5);

    se.erase(3);
    se.erase(10);

    for (set<int>::iterator iter = se.begin(); iter != se.end(); iter ++) {
        cout<<*iter<<endl;
    }
}

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐