[C++基础知识] unordered_map容器

【 C++ 】unordered_map和unordered_set的介绍和使用 目录 1、unordered系列关联式容器 2、unordered_map unordered_map的介绍 unordered_map的构造方式 unordered_map的函数接口说明 unordered_multimap 3、unordered_set unordered_set的介绍 unordered_set的构造方式 unordered_set的函数接口说明 阅读详情

0. 容器模板定义

unordered_map 容器模板的定义如下所示:
template < class Key,                        //键值对中键的类型
           class T,                          //键值对中值的类型
           class Hash = hash<Key>,           //容器内部存储键值对所用的哈希函数
           class Pred = equal_to<Key>,       //判断各个键值对键相同的规则
           class Alloc = allocator< pair<const Key,T> >  // 指定分配器对象的类型
           > class unordered_map;

unordered_map容器里面的键值对是无序的,容器底层采用的是哈希表存储结构,该结构本身不具有对数据的排序功能,所以此容器内部不会自行对存储的键值对进行排序。这个里面有五个参数,必须显式的给前两个参数赋值。

1. 举例

#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
    //创建空 umap 容器
    unordered_map<string, int> umap;
    //向 umap 容器添加新键值对
    umap.emplace("张三", 100);
    umap.emplace("赵四", 95);
    umap.emplace("王五", 99);
    //输出 umap 存储键值对的数量
    cout << "umap size = " << umap.size() << endl;
    cout << "我们班级数学考试前三名如下: " << endl;
    //使用迭代器输出 umap 容器存储的所有键值对
    for (auto iter = umap.begin(); iter != umap.end(); ++iter) {
        cout << iter->first << " " << iter->second << endl;
    }
    return 0;
}

console运行结果如下:

在这里插入图片描述

2. 再举例

#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
int main()
{
    //创建空 umap 容器
    unordered_map<string, string> umap;
    //向 umap 容器添加新键值对
    umap.emplace("张三", "34岁");
    umap.emplace("赵四", "37岁");
    umap.emplace("王五","47岁");
    //输出 umap 存储键值对的数量
    cout << "umap size = " << umap.size() << endl;
    cout << "桃园三结义的兄弟,各岁数如下: " << endl;
    //使用迭代器输出 umap 容器存储的所有键值对
    for (auto iter = umap.begin(); iter != umap.end(); ++iter) {
        cout << iter->first << " " << iter->second << endl;
    }
    return 0;
}

在这里插入图片描述

参考链接: http://c.biancheng.net/view/7231.html

RT-Thread学习笔记(5):SPI驱动框架分析 1、两个设备模型 在spi驱框架中,一般会自己初始化一个总线设备(rt_spi_bus),当我们通过挂载后,会相应注册一个从设备(rt_spi_device)。 1、总线设备模型 struct rt_spi_bus { struct rt_device parent; rt_uint8_t mode; const struct rt_spi_ops *ops; struct rt_mutex lock; struct rt_spi_device *owner; }; 阅读详情

相关推荐

【UV打印机】PrintExp打印软件教程(六)-高级模式(马达)

输入高级模式密码进入高级模式高级模式界面有操作栏、控制栏、参数栏及参数界面操作栏名称功能说明文件加载数据从板卡加载参数保存将参数保存到主板退出退出高级模式固件导入固件导入配套版本下的固件配置*xpcfx导出固件导出当前使用的固件配置*xpcfx导入波形文件导入对应的波形文件*waf操作初始化系统继续初始化动作复位X轴复位回原点控制栏可进行小车运动、闪喷操作(此闪喷为点击进行闪喷,不受平台位置限制),无清洗功能。

Print World的专栏 3112

C++ STL unordered_map

个人学习记录

yearning_mjw的博客 814

跨模型的 API 调用与集成:使用 Spring AI 构建可移植的 API 代码,支持多个 AI 模型(如 OpenAI、Anthropic 等)的调用

Spring AI 是 Spring 生态系统中的一部分,旨在提供一种简单、可扩展的方式来集成人工智能模型。Spring AI 使得开发者可以使用现有的 Spring 体系结构方便地访问多种 AI 模型和服务,例如 OpenAI、Anthropic、HuggingFace 等。

秋元的博客 2404

C++的unordered_map使用

一、原理介绍 unordered_map: unordered_map内部实现了一个哈希表(也叫散列表),通过把关键码值映射到Hash表中一个位置来访问记录。但其元素的排列顺序是无序的。哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,查找的时间复杂度可达到O(1),其在海量数据处理中有着广泛应用;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。 其基本原理是:使用一个下标范围比较大的数组来存储元素。可以设计一

sinat_31608641的博客 2594

Mediapipe姿态估计——用坐标计算手指关节弯曲角度并实时标注

利用mediapipe搭建姿态检测模型;mediapipe人体标注节点坐标;mediapipe计算手指弯曲角度并实时渲染;mediapipe计算关节弯曲角度。mediapipe手势识别;mediapipe姿态检测模型;mediapipe学习。

kalakalabala的博客 1万+

[ESP32S3N16R8][LVGL8.3.0][IDF5.2.3]ST7701S RGB屏幕驱动[vscode最详细配置]

ST7701S ESP32S3 基于ESP-IDF5.2.3编写,编程环境为vscode。本教程详细讲述了esp32s3配置st7701s屏幕驱动以及gt911触摸驱动并关联到lvgl8.3.0,使用IDF5.23示例rgb_panel进行测试删除了其里面的屏幕驱动,改为单独编写屏幕和触摸驱动,最后完成了实列。

qq_44022379的博客 2606

【1】c++ unordered_map详解

https://www.jianshu.com/p/56bb01df8ac7 unordered_map 使用 头文件: #include <unordered_map> 取得键和值: unordered_map<Key,T>::iterator it; it->first; // same as (*it).first ...

nnoner的博客 2673

USB之ch376s数据手册

         最近师兄交给我一个项目,虽说刚学嵌入式起步,但上手一个项目怎说都是最好的快速学习方式。因为刚了解ch376s管理U盘的数据,所以先是看了ch376s的数据手册。那我就把数据手册直接放上来吧。。。。      1、概述 CH376 是文件管理控制芯片,用于单片机系统读写 U 盘或者 SD 卡中的文件。 CH376 支持 USB 设备方式和 USB 主机方式,并且内置了 USB 通...

iBGG的博客 6004

devcpp中使用unordered_map

#include<iostream> #include<cstring> #include<string> #include<tr1/unordered_map>//注意这里 using namespace std; using namespace std::tr1;//还有这里 //即可使用 int main(){ unordered_map <string,int> hash; hash["aa"]=100; cout<&l.

m0_50176535的博客 2545

【WRF数据准备】土地利用数据-MODIS MCD12Q1数据下载及制备

【WRF数据准备】MODIS静态地理数据下载及制备

WW、forever的博客 3413

极智AI | 算能SC5+智算卡驱动安装与升级

大家好,我是极智视界,本文介绍一下 算能SC5+智算卡驱动安装与升级

极智视界 1277

c++ map unordered_map使用大全

1.插入元素 map中插入元素的方法有如下集中 1.1 直接用[]符 map<int, string> mymap; mymap[1] = "a"; map的源码中重载了[]操作符, map<_Key, _Tp, _Compare, _Allocator>::operator[](key_type&& __k) { return __tree_.__emplace_unique_key_args(__k, _VSTD::piecewise_c

bitcarmanlee的博客 2万+

把 SAP GUI 做成可维护的应用:Module Pool 基础与 Table Control 深入实战

SAP Module Pool 与 Table Control 开发要点 摘要:Module Pool 作为 SAP GUI 交互的核心技术,由程序、屏幕(Dynpro)和流逻辑(Flow Logic)组成,通过 PBO/PAI 事件驱动数据流。Table Control 是其中处理多行数据的核心控件,其开发关键在于: 正确理解 PBO/PAI 数据流机制 掌握 CXTAB_CONTROL 结构的关键属性(LINES、TOP_LINE 等) 合理设置列控制属性(CXTAB_COLUMN) 采用 LOOP W

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 241

【STL】C++ STL之unordered_map详解

【C++】unordered_map 容器的最全解析(什么是unordered_map?unordered_map的常用接口有那些?

weixin_44595311的博客 675

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

深入浅出:模拟实现 C++ STL 中的 unordered_map 和 unordered_set

本文通过模拟实现的方式,深入探讨了 C++ STL 中 unordered_set 和 unordered_map 的内部工作原理。通过理解散列表的工作机制,我们可以更好地利用这些容器提供的高效性能,并在需要时定制自己的哈希函数或碰撞解决策略。

wgr050505的博客 1264

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

(四)C++的常用容器简析

C++常用标准容器

机器人视觉感知 315

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【C++】unordered_map 容器的最全解析(什么是unordered_map?unordered_map的常用接口有那些?)

【unordered_map】是STL中的容器之一,不同于普通容器,它的查找速度极快,常用来存储各种经常被检索的数据,因为容器的底层是【哈希表】。除此之外,还可以借助其特殊的性质,解决部分难题。

weixin_45031801的博客 2万+

c++ map与unordered_map区别及使用

转自:https://blog.youkuaiyun.com/BillCYJ/article/details/78985895 需要引入的头文件不同 map: #include &lt; map &gt; unordered_map: #include &lt; unordered_map &gt; 内部实现机理不同 map: map内部实现了一个红黑树(红黑树是非严格平衡二叉搜索树,而AVL是严格平衡二...

别说话写代码的博客 27万+

c++中unordered_map的用法的详述(包含unordered_map和map的区别)

一、前言 如果要在c++ 中使用这map 和unordered_map 两个函数,需要分别引入下面的两个头文件 #include<map> #include<unordered_map> unordered_map 容器,直译过来就是"无序 map 容器"的意思。所谓“无序”,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序。换句话说,unordered_map 容器和 map 容器仅有一点不同,即 map 容器中存储的数据是有序的,而 unor

进击的Explorer 9万+

unordered_map 简介

头文件 在使用unordered_map时,需要引入头文件: #include < unordered_map > 内部实现 unordered_map内部实现了一个哈希表(也叫散列表,通过把关键码值映射到Hash表中一个位置来访问记录,查找的时间复杂度可达到O(1),其在海量数据处理中有着广泛应用)。因此,其元素的排列顺序是无序的。 与map对比 map 优点: 有序性,这是map结构最大的优点,其元素的有序性在很多应用中都会简化很多的操作; 红黑树,内部实现一个红黑树使得m

柔水终成雕刀 4万+

C++ STL unordered_map容器用法详解

C++ STL 标准库中提供有 4 种无序关联式容器,本节先讲解 unordered_map 容器。unordered_map 容器,直译过来就是"无序 map 容器"的意思。所谓“无序”,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序。换句话说,unordered_map 容器和 map 容器仅有一点不同,即 map 容器中存储的数据是有序的,而 unordered_map 容器中是无序的。

weixin_51710308的博客 3450

【C++】【总结】unordered_map,unordered_set,map和set的用法和区别

unordered_map 头文件:#include 介绍:std::unordered_map 本来就是以key来查找value而设计。 方法: Insert

zjajgyy的博客 4万+

c++ unordered_map和map的区别

unordered中文翻译即 “无序的” ,自然地,unordered_map也就是不排序的map的意思。unordered_set与set和unordered_map与map是可以类比的,它们的区别大致是一样的。unordered_map在c++11加入的标准模板库,c++11以前是无法使用unordered_map、unordered_set、auto、stoi等标准模板的。unordered_map包含在unordered_map头文件中,即如果想要使用时,引入下面代码即可。

weixin_52115456的博客 1万+

C++ unordered_map

是存储键值对的关联式容器,其允许通过key快速的索引到与其对应的value。2.在中,键值通常用于惟一地标识元素,而映射值是一个对象,其内容与此键关联。键和映射值的类型可能不同。3.在内部没有对按照任何特定的顺序排序为了能在常数范围内找到key所对应的value将相同哈希值的键值对放在相同的桶中。容器通过key访问单个元素要比map快,但它通常在遍历元素子集的范围迭代方面效率较低。实现了直接访问操作符,它允许使用key作为参数直接访问value。6.

2301_79881188的博客 3069

STL容器之unordered_map类

STL容器之unordered_map类

Xpccccc的博客 3203

【c++】STL 容器 unordered_map用法详解

这里对unordered_map进行一些简单的介绍,包括其基本用法。更加详细的介绍请学习cplusplus网站相关资料。1 一、定义 template < class Key, // unordered_map::key_type class T, ...

最简示例破局!基础用法秒会,深层原理不绕弯。 1万+
上一篇: 见闻-关于codec芯片
下一篇: 冒泡排序-C语言
1byte ≠ 8bit
博客等级 码龄8年 7242粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值