码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【C++】STL07 关联容器-set


    文章目录

    • 概念
    • 特点
    • 操作
      • 添加数据 insert
      • 查找 find(元素值)
      • 元素个数 count
      • 查找大于等于目标值的数据
      • 对子 pair
      • 排序

    C++ STL unordered_set容器完全攻略

    概念

    涉及到红黑树—二叉树

    特点

    所有元素都会根据元素的键值自动被排序(从小到大)。
    Set的元素不像map那样可以同时拥有实值和键值。set的元素既是键值又是实值。
    Set 不允许两个元素有 相同的键值。

    1. set 中元素插入过程是按排序规则插入,所以不能指定插入位置(不能打破红黑树的位置结构)。

    2. set 不可以直接存取元素,不可以使用 at.(pos) 和 [ ] 操作符。

    3. multiset 与 set 的区别:set支持唯一键值,每个元素值只能出现一次;而 multiset 中同一值可以出现多次。

    4. 不可以直接修改 set 或 multiset 容器中的元素值,因为该类容器是自动排序的。如果希望修改一个元素值,必须先删除原有的元素,再插入新的元素

    我们可以通过set的迭代器改变set的元素吗?不行的,因为set元素值就是其键值,关系到set元素的排列规则。如果任意改变set元素值,会严重破坏set组织。

    操作

    添加数据 insert

    查找 find(元素值)

    返回值类型用迭代器接收。

    元素个数 count

    Set 不允许两个元素有 相同的键值。所以元素个数要么是0要么是1

    查找大于等于目标值的数据

    lower_bound、大于等于的第一个
    upper_bound、大于的第一个
    equal_range 返回等于的上下限的两个迭代器。用paris ret2=equal_range(30);
    ret2.first()— lower_bound
    ret2.second()—upper_bound

    对子 pair

    创建:
    (1)pair p1(“aa”,12);
    (2)pair p2=make_pair(“aa”,21);
    访问:
    p1.first
    p1.second

    排序

    (1)迭代器–自动从小到大
    (2)使用仿函数改变排序规则

  • 相关阅读:
    在NetSuite中实现合作伙伴管理
    操作users表的CRUD(增、查、删、改)
    【Qt快速入门(四)】- QLabel文本框的使用
    element form中input使用@keyup.enter.native回车页面刷新问题
    基础设施SIG月度动态:「龙蜥大讲堂」基础设施系列专题分享完美收官,容器镜像构建 2.0 版本上线
    蓝桥杯B组C++省赛——飞机降落(DFS)
    SpringBoot 中的 Liquibase 适配达梦数据库(DM)和 Flowable 工作流
    2024年软考考试和报名时间表,请接收~
    【SPI读取外部Flash】使用逻辑分析仪来读取FLASH Device ID
    GPT引发智能AI时代潮流
  • 原文地址:https://blog.csdn.net/kin_16/article/details/126452147
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号