C++ set和map使用

news2024/11/24 3:50:02

搜索平衡二叉树的封装

  • 1. 关联容器
  • 2. 键值对
  • 3. 树形结构的关联式容器
    • 3.1 set
      • 3.1.1 set介绍
      • 3.1.2 set 的使用
        • 1. set模板参数列表
        • 2. set的构造
        • 3. set 的迭代器
        • 4. set的容量
        • 5. set修改
        • 5. set的使用
    • 3.2 multiset
      • 3.2.1 multiset的介绍
      • 3.2.1 multiset的使用
    • 3.3 map
      • 3.3.1 map的介绍
      • 3.3.2 map的使用
        • 1. map的模板参数说明
        • 2. map构造
        • 3. map的迭代器
        • 4.map的容量与元素访问
        • 5. map中元素的修改
        • 6. map使用样例

1. 关联容器

vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。

关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数据检索时比序列式容器效率更高

2. 键值对

用来表示具有一一对应关系的一种结构,该结构中一般只包含两个成员变量key和value,key代表键值,value表示与key对应的信息。比如:现在要建立一个英汉互译的字典,那该字典中必然有英文单词与其对应的中文含义,而且,英文单词与其中文含义是一一对应的关系,即通过该应该单词,在词典中就可以找到与其对应的中文含义。

SGI-STL中关于键值对的定义:
在这里插入图片描述

3. 树形结构的关联式容器

3.1 set

3.1.1 set介绍

在这里插入图片描述

在这里插入图片描述

3.1.2 set 的使用

1. set模板参数列表

在这里插入图片描述
T: set中存放元素的类型,实际在底层存储<value, value>的键值对。
Compare:set中元素默认按照小于来比较
Alloc:set中元素空间的管理方式,使用STL提供的空间配置器管理

2. set的构造

在这里插入图片描述
在这里插入图片描述

3. set 的迭代器

在这里插入图片描述

4. set的容量

在这里插入图片描述

5. set修改

在这里插入图片描述

5. set的使用

set的作用是用来 排序+去重
在这里插入图片描述

3.2 multiset

3.2.1 multiset的介绍

在这里插入图片描述
在这里插入图片描述

3.2.1 multiset的使用

在这里插入图片描述

3.3 map

3.3.1 map的介绍

在这里插入图片描述

3.3.2 map的使用

1. map的模板参数说明

在这里插入图片描述
在这里插入图片描述

2. map构造

在这里插入图片描述

3. map的迭代器

在这里插入图片描述

4.map的容量与元素访问

在这里插入图片描述
在这里插入图片描述

5. map中元素的修改

在这里插入图片描述

6. map使用样例

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/719544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Could not load the Qt platform plugin “xcb“

qt.core.plugin.loader: QLibraryPrivate::loadPlugin failed on “/home/ly/Qt/6.5.1/gcc_64/plugins/platforms/libqxcb.so” : “Cannot load library /home/ly/Qt/6.5.1/gcc_64/plugins/platforms/libqxcb.so: (libxcb-cursor.so.0: cannot open shared object file: No su…

VTK8.2手动卸载

利用源代码方式安装的VTK, 进行手动卸载[参考] 1、进入.. /VTK-8.2.0/build目录 make2、记录sudo make install的log log在uninstall.sh文件中 touch uninstall.sh && chmod 775 uninstall.sh && echo #!/bin/bash -v > uninstall.sh && sudo m…

【unity实战】制作俯视角射击游戏多种射击效果(一)

文章目录 本期目标前言欣赏开始1. 角色移动和场景搭建2. 绑定枪械2.1 首先将各种枪械的素材添加给人物作为子物体2.2 给枪械也分别添加两个子物体用作标记枪口和弹仓位置 3. 枪械动画4. 切换枪械5. 发射功能5.1 手枪(1) 枪械随着鼠标旋转(2) 射击时间间隔(3) 创建好子弹、弹壳和…

手把手教你如何做手机PCB电磁兼容性设计

电磁兼容性是指电子设备在各种电磁环境中仍能够协调、有效地进行工作的能力。电磁兼容性设计的目的是使电子设备既能抑制各种外来的干扰&#xff0c;使电子设备在特定的电磁环境中能够正常工作&#xff0c;同时又能减少电子设备本身对其它电子设备的电磁干扰。 1、选择合理的导…

【霹雳吧啦Wz】Transformer中Self-Attention以及Multi-Head Attention详解

文章目录 来源Transformer起源Self-Attention1. 求q、k、v2. 计算 a ^ ( s o f t m a x 那块 ) \hat{a} (softmax那块) a^(softmax那块)3. 乘V&#xff0c;计算结果 Multi-Head Attention位置编码 来源 b站视频 前天啥也不懂的时候点开来一看&#xff0c;各种模型和公式&#…

FreeRTOS 低功耗模式设计 STM32平台

1. STM32F105RBT6 的三种低功耗模式 1.1 sleep睡眠模式、stop停机模式、standby 待机模式 1.2 STM32中文参考手册有介绍STM32 低功耗模式的介绍 2. FreeRTOS 采用的是时间片轮转的抢占式任务调度机制&#xff0c;其低功耗设计思路一般是&#xff1a; ① 当运行空闲任务&#…

启动网站调试提示 HTTP 错误 403.14 – Forbidden Web 服务器被配置为不列出此目录的内容。

启动网站调试提示 HTTP 错误 403.14 – Forbidden Web 服务器被配置为不列出此目录的内容。 解决方案第一种.在网站的配置文件里添加第二种.ISS管理界面修改 解决方案 第一种.在网站的配置文件里添加 <system.webServer><directoryBrowse enabled"true" /&…

【RH850/U2A】:休眠唤醒

休眠唤醒 唤醒差异休眠差异休眠是解决整个系统待机时尽可能的减少功耗,相应的唤醒则是低功耗模式下整个系统可以被已知的条件唤醒系统,进而进入全功能模式。 RH850/U2A的配置和RH850/F1KM大同小异,本文只讲述差异部分,其他部分详见 【Davinci开发】:IO唤醒系统 唤醒差异 …

API验证器,帮助ReSharper开启VS插件新时代!

实质上&#xff0c;ReSharper特征可用于C#&#xff0c;VB.net&#xff0c;XML&#xff0c;Asp.net&#xff0c;XAML&#xff0c;和构建脚本。 使用ReSharper&#xff0c;你可以进行深度代码分析&#xff0c;智能代码协助&#xff0c;实时错误代码高亮显示&#xff0c;解决方案范…

WideNet:让网络更宽而不是更深

这是新加坡国立大学在2022 aaai发布的一篇论文。WideNet是一种参数有效的框架&#xff0c;它的方向是更宽而不是更深。通过混合专家(MoE)代替前馈网络(FFN)&#xff0c;使模型沿宽度缩放。使用单独LN用于转换各种语义表示&#xff0c;而不是共享权重。 混合专家(MoEs) 条件计…

STM32 串口代码配置

一、首先开发板上关于串口1的引脚配置已经配置好了&#xff0c;位置在SYSTEM的 usart.c 文件中&#xff08;注意&#xff1a;只配置了串口1的&#xff0c;其他使用时需要自己配置&#xff09; 重要的是明白配置的参数都是什么意思&#xff0c;针对实现不同的串口功能有什么影响…

入门Python笔记(基础)

入门Python笔记 入门Python笔记(基础)1. Python的特点2. Python安装3. Python中的数据类型3.1 数字类型3.1.1 整数类型3.1.2 浮点类型3.1.3 复数类型3.1.4 布尔类型 3.2 数字类型的相互转换 4. 运算符4.1 算术运算符4.2 比较运算符4.3 逻辑运算符4.4 位运算符4.5 赋值运算符4.6…

基于Java SpringBoot和Vue UniAPP的微信商城小程序

摘要 近年来&#xff0c;随着我国网络基础设施的不断完善和信息技术的不断发展&#xff0c;第三方支付手段得到了广泛的普及&#xff0c;网上购物已经成为人们生活中的重要内容&#xff0c;基于PC平台的网上商城系统可以足不出户就可以享受购物。 基于手机的网购微信小程序发挥…

Spark学习--1、Spark入门(Spark概述、Spark部署、Local模式、Standalone模式、Yarn模式)

1、Spark概述 1.1 什么是Spark Spark是一个基于内存的快速、通用、可扩展的大数据分析计算引擎。 1.2 Hadoop和Spark历史 Hadoop的Yarn框架比Spark框架诞生的晚&#xff0c;所以Spark自己也设计了一套资源调度框架。 1.3 Hadoop和Spark框架对比 1.4 Spark内置模块 模块名作…

前端Vue自定义轮播图视频播放组件 仿京东商品详情轮播图视频Video播放效果 可图片预览

前端Vue自定义轮播图视频播放组件 仿京东商品详情轮播图视频Video播放 &#xff0c;可图片预览&#xff0c;下载完整代码请访问uni-app插件市场地址&#xff1a;https://ext.dcloud.net.cn/plugin?id13325 效果图如下: # cc-videoSwiper #### 使用方法 使用方法 <!-- g…

怎么学习PHP会话管理和用户认证? - 易智编译EaseEditing

学习PHP会话管理和用户认证可以按照以下步骤进行&#xff1a; 理解基本概念&#xff1a; 首先&#xff0c;了解会话管理和用户认证的基本概念和原理。会话管理涉及在Web应用程序中跟踪用户状态和数据的技术&#xff0c;而用户认证涉及验证用户身份的过程。 学习PHP的会话管理…

telnet登录ARM开发板

telnet远程登录ARM开发板 1、ARM开发板中telnet设置2、ubuntu登录开发板 Telnet协议是TCP/IP协议族中的一员&#xff0c;是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序&#xff0c;用…

2023年7月8日(星期六):骑行小空山

2023年7月8日(星期六)&#xff1a;骑行小空山&#xff0c;早8:30到9:00&#xff0c; 昆明氧气厂门囗红绿灯下&#xff08;学府路和普吉路交叉路囗&#xff09;&#xff0c;9:30点准时出发 【因迟到者&#xff0c;骑行速度快者&#xff0c;可自行追赶偶遇。】 偶遇地点: 昆明氧…

Mysql,使用 UNION ALL 处理 ‘无中生有‘ 的数据。

在日常的开发工作中&#xff0c;有时我们需要在SQL层面添加一些数据库表中没有的数据&#xff0c;那么我们就可以使用 UNION ALL 关键字来解决。 一、简单的无中生有&#xff1a;在查询返回结果中添加数据 以下方的SQL1为例&#xff0c;我们根据 id 查询 user 表中的数据&#…

118.浏览器支持和修复Safari浏览器的Flexbox漏洞

在我们之前的文章中&#xff0c;我们介绍了测试的步骤 虽然现在大部分新版本的浏览器都能支持99%的CSS属性&#xff0c;但是不排除的是仍然有一些用户使用老的IE浏览器或者版本较低的浏览器去浏览我们的网页&#xff0c;这样我们的网站可能无法按照我们的预期工作&#xff1b…