C++ 关联容器使用 map, unordered_map, set, unordered_set, multiset, unordered_multiset

关联容器是否有序是否关联值是否可重复访问时间
set对数
map对数
multiset对数
multimap对数
unordered_map常数
unordered_set常数
unordered_multiset常数
unordered_multimap常数

#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <iostream>
#include <array>using namespace std;template <typename AssozCont>
bool containsElement5(const AssozCont& assozCont) {return assozCont.contains(5);
}int main() {// std::mapstd::map<std::string, int> m{ {"Dijkstra", 1972}, {"Scott", 1976} };m["Ritchie"] = 1983;std::cout << m["Ritchie"]; // 1983for (auto p : m) std::cout << "{" << p.first << "," << p.second << "}";// {Dijkstra,1972},{Ritchie,1983},{Scott,1976}m.erase("Scott");for (auto p : m) std::cout << "{" << p.first << "," << p.second << "}";// {Dijkstra,1972},{Ritchie,1983}m.clear();std::cout << m.size() << std::endl; // 0// std::unordered_mapstd::unordered_map<std::string, int> um{ {"Dijkstra", 1972}, {"Scott", 1976} };um["Ritchie"] = 1983;std::cout << um["Ritchie"]; // 1983for (auto p : um) std::cout << "{" << p.first << "," << p.second << "}";// {Ritchie,1983},{Scott,1976},{Dijkstra,1972}um.erase("Scott");for (auto p : um) std::cout << "{" << p.first << "," << p.second << "}";// {Ritchie,1983},{Dijkstra,1972}um.clear();std::cout << um.size() << std::endl; // 0// std::setstd::set<int> mySet{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };std::cout << "containsElement5(mySet): "<< containsElement5(mySet); // true//std::unordered_setstd::unordered_set<int> myUnordSet{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };std::cout << "containsElement5(myUnordSet): "<< containsElement5(myUnordSet); // true// std::multisetstd::multiset<int> myMuliSet{ 3, 1, 5, 3, 4, 5, 1, 4, 4, 3, 2, 2, 7, 6, 4, 3, 6 };for (auto s : myMuliSet) std::cout << s << " ";// 1 1 2 2 3 3 3 3 4 4 4 4 5 5 6 6 7myMuliSet.insert(8);std::array<int, 5> myArr{ 10, 11, 12, 13, 14 };myMuliSet.insert(myArr.begin(), myArr.begin() + 3);myMuliSet.insert({ 22, 21, 20 });for (auto s : myMuliSet) std::cout << s << " ";// 1 1 2 2 3 3 3 3 4 4 4 4 5 5 6 6 7 10 11 12 20 21 22std::cout << myMuliSet.erase(4); // 4myMuliSet.erase(myMuliSet.lower_bound(5), myMuliSet.upper_bound(15));for (auto s : myMuliSet) std::cout << s << " ";// 1 1 2 2 3 3 3 3 20 21 22// std::multimapstd::multimap<char, int> multiMap = { {'a', 10}, {'a', 20}, {'b', 30} };for (auto p : multiMap) std::cout << "{" << p.first << "," << p.second << "} ";// {a,10} {a,20} {b,30}return 0;}

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

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

相关文章

绘制口罩maskTheFace数据源是300w_lp

官网下载mask the face 代码&#xff0c;增加代码draw_face.py import argparse import cv2 import scipy.io from tqdm import tqdm from utils.aux_functions_2 import *# 设置命令行输入参数 parser argparse.ArgumentParser(description"MaskTheFace - Python code…

JavaScript之类(1)

class基础语法结构&#xff1a; 代码&#xff1a; class MyClass {constructor() { ... }method1() { ... }method2() { ... }method3() { ... }... } 解释&#xff1a; 属性解释class是我们定义的类型(类)MyClass是我们定义的类的名称 constructor()我们可以在其中初始化对象m…

微软Edge浏览器全解析

微软Edge浏览器全解析(一) 解决浏览器的主页被篡改后无法通过浏览器的自带设置来恢复的问题 相信各位都有发现新买的联想电脑浏览器的主页设置不太满意,但从浏览器自带的设置上又无法解决此问题,网上找了许多方法都无济于事,特别对有着强迫症的小伙伴们更是一种煎熬。 通…

shell:远程机器执行当前机器的脚本

如果你想使用ssh命令从当前机器&#xff08;即你正在操作的机器&#xff09;连接到另一台机器&#xff0c;并在那台远程机器上执行当前机器上的一个脚本&#xff0c;你需要将脚本文件复制到远程机器&#xff0c;或者使用其他方法&#xff08;如通过HTTP、FTP等&#xff09;在远…

CVE-2023-50563(sql延时注入)

简介 SEMCMS是一套支持多种语言的外贸网站内容管理系统&#xff08;CMS&#xff09;。SEMCMS v4.8版本存在SQLI&#xff0c;该漏洞源于SEMCMS_Function.php 中的 AID 参数包含 SQL 注入 过程 打开靶场 目录扫描&#xff0c;发现安装install目录&#xff0c;进入&#xff0c;…

免费一年SSL证书申请——建议收藏

免费一年SSL证书申请——建议收藏 获取免费一年期SSL证书其实挺简单的 准备你的网站&#xff1a; 确保你的网站已经有了域名&#xff0c;而且这个域名已经指向你的服务器。还要检查你的服务器支持HTTPS&#xff0c;也就是443端口要打开&#xff0c;这是HTTPS默认用的。 验证域…

开源技术:在线教育系统源码及教育培训APP开发指南

本篇文章&#xff0c;小编将探讨如何利用开源技术开发在线教育系统及教育培训APP&#xff0c;旨在为有志于此的开发者提供全面的指导和实践建议。 一、在线教育系统的基本构架 1.1架构设计 包括前端、后端和数据库三个主要部分。 1.2前端技术 在前端开发中&#xff0c;HTML…

[实践篇]13.29 再来聊下Pass Through设备透传

写在前面 为什么要再聊天Pass Through? 因为在QNX + Linux Android的技术方案下,我们会遇到LA发生reboot或异常panic后,无法正常开机。而再次异常的原因确实最头疼的Memory Corruption。观察下来是由于一些DMA外设如使用UART的一些设备在重启或panic后,没有正常走Shutdow…

C++系统相关操作4 - 获取CPU(指令集)架构类型

1. 关键词2. sysutil.h3. sysutil.cpp4. 测试代码5. 运行结果6. 源码地址 1. 关键词 关键词&#xff1a; C 系统调用 CPU架构 指令集 跨平台 实现原理&#xff1a; Unix-like 系统: 可以通过 uname -m 命令获取 CPU 架构类型。Windows 系统: 可以通过环境变量 PROCESSOR_A…

使用Inno Setup 5.5制作软件安装包-精品(二)

上一篇 使用Inno Setup 6制作软件安装包&#xff08;一&#xff09;-CSDN博客 文章简单的说了一下使用Inno Setup 6制作软件安装包&#xff0c;具体有很多的细节&#xff0c;都可以参考上篇的案例。本节说一下&#xff0c;Inno Setup 5 增强版制作软件精品安装包&#xff0c;…

如何搭建饥荒服务器

《饥荒》是由Klei Entertainment开发的一款动作冒险类求生游戏&#xff0c;于2013年4月23日在PC上发行&#xff0c;2015年7月9日在iOS发布口袋版。游戏讲述的是关于一名科学家被恶魔传送到了一个神秘的世界&#xff0c;玩家将在这个异世界生存并逃出这个异世界的故事。《饥荒》…

力扣SQL50 销售分析III having + 条件计数

Problem: 1084. 销售分析III &#x1f468;‍&#x1f3eb; 参考题解 Code select s.product_id,p.product_name from sales s left join product p on s.product_id p.product_id group by product_id having count(if(sale_date between 2019-01-01 and 2019-03-31,1,nu…

【SpringBoot Actuator】⭐️Actuator 依赖实现服务健康检查,线程信息收集

目录 &#x1f378;前言 &#x1f37b;一、Actuator 了解 &#x1f37a;二、使用 2.1 依赖引入 2.2 测试场景搭建 &#x1f379;三、测试 3.1 项目启动测试 3.2 服务健康检查 3.3 线程转储 3.4 内存使用&#xff0c;垃圾回收信息获取 &#x1f49e;️四、章末 &#x1…

MySQL的自增 ID 用完了,怎么办?

MySQL 自增 ID 一般用的数据类型是 INT 或 BIGINT&#xff0c;正常情况下这两种类型可以满足大多数应用的需求。 当然也有不正常的情况&#xff0c;当达到其最大值时&#xff0c;尝试插入新的记录会导致错误&#xff0c;错误信息类似于&#xff1a; ERROR 167 (22003): Out o…

使用SpringBootTest测试项目

当我们开发项目后&#xff0c;通常需要进行单元测试&#xff0c;确保开发符合预期。但是对于Springboot项目&#xff0c;依赖部分IOC容器对象的注入。比如代码中存在Autowired、Service、Mapper等。 1、确保pom.xml中包含了依赖&#xff0c;其中的version和scope&#xff0c;大…

【科普】半导体制造过程的步骤、技术、流程

在这篇文章中&#xff0c;我们将学习基本的半导体制造过程。为了将晶圆转化为半导体芯片&#xff0c;它需要经历一系列复杂的制造过程&#xff0c;包括氧化、光刻、刻蚀、沉积、离子注入、金属布线、电气检测和封装等。 基本的半导体制造过程 1.晶圆&#xff08;Wafer&#xf…

发送ajax请求时由于click事件重复绑定导致的请求重复发送问题

问题场景 项目背景&#xff1a;CRM练习项目&#xff0c;通过复选框选择列表中的数据&#xff0c;用户点击删除按钮&#xff0c;弹出确认弹窗&#xff0c;用户点击确认后&#xff0c;前端分装数据到数组&#xff0c;发送ajax请求&#xff0c;将数据传递至Controller进行处理。 …

《计算机英语》测试练习题

作业3 一、单选题 内存条 的英文翻译是 A. memory chip (内存条通常指的是内存条上的存储芯片&#xff0c;但整个内存条的英文翻译应为 "RAM"&#xff0c;即 Random Access Memory 随机存取存储器) capacitor的中文意思是 D. 电容器 relay 的解释是 A. 继电器 por…

070、Python 关于面向对象编程

1、指令式编程 计算机编程起源于汇编语言和机器语言&#xff0c;早期的这些语言被叫做指令式编程范式&#xff08;所谓编程范式就是程序设计的方法论&#xff09;。程序员直接操作计算机的指令来完成任务&#xff0c;这种编程方式非常接近硬件。早期的代码比较少&#xff0c;逻…

基于CDMA的多用户水下无线光通信(2)——系统模型和基于子空间的延时估计

本文首先介绍了基于CDMA的多用户UOWC系统模型&#xff0c;并给出了多用户收发信号的数学模型。然后介绍基于子空间的延时估计算法&#xff0c;该算法只需要已知所有用户的扩频码&#xff0c;然后根据扩频波形的循环移位在观测空间的信号子空间上的投影进行延时估计。 1、基于C…