Bootstrap

STL--set(集合)

目录

前言

set:

multiset:

一、set 对象创建

1、默认构造

2、初始化列表

3、迭代器

4、拷贝构造

二、set 赋值操作

1、=set对象

2、=初始化列表

三、set 大小操作

1、判空

2、大小

四、set 数据插入

1、单值插入

2、多值插入

五、set 数据查找

六、set 数据删除

1、s.erase(x);        删除x

2、s.erase(迭代器);        删除迭代器所在位置的值

3、s.erase(迭代器1,迭代器2);

七、set 数据统计


前言

set:

1.容器内无重复元素。

2.容器内元素为有序排列。

multiset:

1.容器内可以有重复元素。

2.其它性质与set一致。

一、set 对象创建

1、默认构造

        set<int> s1;

2、初始化列表

        set<int> s2_1={1,2,3,4,5};

        set<int> s2_2({1,2,3,4,5});

3、迭代器

        set<int> s3(s2_1.begin(),s2_1.end());

4、拷贝构造

        set<int> s4(s3);

二、set 赋值操作

set<int> s={1,2,3,4,5};

1、=set对象

        s1=s;

2、=初始化列表

        s2={1,2,3,4,5};

三、set 大小操作

1、判空

        s.empty();

2、大小

        s.size();

四、set 数据插入

1、单值插入

        s1.insert(x);

2、多值插入

        vector<int> v={1,2,3,4,5};

        s2.insert(v.begin(),v.end());

五、set 数据查找

        s.find(x);

返回值类型是一个迭代器;

若查找成功,则返回指向查找值的迭代器;

若查找失败,则返回s.end();

六、set 数据删除

1、s.erase(x);        删除x

2、s.erase(迭代器);        删除迭代器所在位置的值

        迭代器可利用find函数来获取

3、s.erase(迭代器1,迭代器2);

        删除[迭代器1,迭代器2)区间内元素

七、set 数据统计

        s.cont(x);        x出现次数;

因为:set容器不支持重复数据,所以:cont返回值只会是0或1;

但:multiset中数据可以重复。

;