码农知识堂 - 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)使用仿函数改变排序规则

  • 相关阅读:
    Python学习笔记合集(总结)
    尚硅谷kafka3.0.0
    odoo context上下文用法总结
    代码随想录算法训练营第三天| 203.移除链表元素、707.设计链表 、206.反转链表(JS写法)
    CADD课程学习(7)-- 模拟靶点和小分子相互作用 (柔性对接 AutoDock)
    在线问题反馈模块实战(二):封装代码自动生成类文件器
    conda配置虚拟环境相关记录
    JWT登录验证前后端设计与实现笔记
    幂等性解决方案
    护网蓝队初级面试题摘录(下)
  • 原文地址:https://blog.csdn.net/kin_16/article/details/126452147
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号