C++容器——set

set容器

是一个关联容器,按一定的顺序存储一组唯一的元素。

set容器中的元素会根据元素的值自动进行排序,并且不允许包含重复的元素,基于二叉树实现的。


特点:

唯一性: set容器中的元素是唯一的,即容器中不允许有重复的元素。插入相同的元素将不会改变容器的内容。

有序性: std::set 中的元素会根据元素的值进行排序。

(默认情况下,元素是按照升序进行排序,但也可以定义自定义的排序规则)

基于二叉树:是基于二叉树数据结构实现的。

动态增长: 是动态分配内存的,容器的大小可以动态增长或缩小。

不支持随机访问:是有序的关联容器,不支持像 std::vector 那样的随机访问。 


set容器使用流程 

  1. 使用元组需要加入头文件<set>
  2. set容器的定义及初始化
  3. set容器的使用

加入头文件

#include<set>

set容器的定义及初始化

std::set<int>first { 7,2,3 };

std::set<int>secend ={ 7,2,3 };

std::set<int>third(first.begin(),first.end());

set容器的使用

添加元素 

set容器插入数据时用insert()或者emplace()

set容器插入的数据会自动排序

删除元素:

erase(begend);删除[beg,end]区间的数据,返回下一个数据的位置

erase(pos);删除pos位置的数据,返回下一个数据的位置

erase(e);删除容器中e的元素

迭代器操作:

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

end(): 返回指向最后一个元素之后位置的迭代器。

rbegin(): 返回指向最后一个元素的逆迭代器。

rend(): 返回指向第一个元素之前位置的逆迭代器。

crbegin():返回指向最后一个元素的常量逆迭代器

crend():返回指向第一个元素的常量逆迭代器。

查找和统计

find(k);查找k是否存在,若存在,返回该键的元素的迭代器若不存在,返回set.end()

count(k);统i计k的元素个数

其他操作:

size(): 返回链表中元素的个数。

empty(): 判断链表是否为空。

clear(): 清空链表中的所有元素。

multiset容器

如果容器里有重复的元素那就初始化定义时把set改为multiset,set和multiset容器其他功能一致

相关推荐

  1. C/C++ - 容器set

    2024-05-10 12:30:02       43 阅读
  2. C++容器——set

    2024-05-10 12:30:02       28 阅读
  3. C++容器——unordered_set浅谈

    2024-05-10 12:30:02       44 阅读
  4. set容器

    2024-05-10 12:30:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-10 12:30:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-10 12:30:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-10 12:30:02       87 阅读
  4. Python语言-面向对象

    2024-05-10 12:30:02       96 阅读

热门阅读

  1. ubuntu22 安装ROS2

    2024-05-10 12:30:02       31 阅读
  2. 机器学习笔记-02

    2024-05-10 12:30:02       29 阅读
  3. Centos7.9搭建yum仓库

    2024-05-10 12:30:02       37 阅读
  4. C++面向对象学习笔记四

    2024-05-10 12:30:02       36 阅读
  5. Linux学习笔记2

    2024-05-10 12:30:02       29 阅读