C++之map容器

C++之map容器

在这里插入图片描述

map构造和赋值

在这里插入图片描述

#include<iostream>
#include<string>
using namespace std;
#include<map>void printMap(map<int,int>&m)
{for (map<int,int>::iterator it = m.begin();it != m.end();it++){//cout <<"key is: "<< (*it).first << " value is "<<(*it).second<<endl;cout << "key is: " << it->first << " value is " << it->second << endl;}cout << endl;
}void test()
{//创建map容器map<int, int>m;m.insert(pair<int, int>(1, 10));m.insert(pair<int, int>(2, 50));m.insert(pair<int, int>(3, 30));m.insert(pair<int, int>(4, 20));m.insert(pair<int, int>(5, 40));printMap(m);//拷贝构造map<int, int>m2(m);printMap(m2);//赋值map<int, int>m3;m3 = m;printMap(m3);
}int main()
{test();system("pause");return 0;
}

在这里插入图片描述

map大小和交换

在这里插入图片描述

#include<iostream>
#include<string>
using namespace std;
#include<map>void printMap(map<int,int>&m)
{for (map<int,int>::iterator it = m.begin();it != m.end();it++){//cout <<"key is: "<< (*it).first << " value is "<<(*it).second<<endl;cout << "key is: " << it->first << " value is " << it->second << endl;}cout << endl;
}void test()
{//创建map容器map<int, int>m;m.insert(pair<int, int>(1, 10));m.insert(pair<int, int>(2, 50));m.insert(pair<int, int>(3, 30));m.insert(pair<int, int>(4, 20));m.insert(pair<int, int>(5, 40));printMap(m);if (m.empty()){cout << "m is empty" << endl;}else{cout << "m is not empty" << endl;cout << "m's size is" << m.size() << endl;}map<int, int>m2;m2.insert(pair<int, int>(1, 100));m2.insert(pair<int, int>(2, 500));m2.insert(pair<int, int>(3, 300));m2.insert(pair<int, int>(4, 200));m2.insert(pair<int, int>(5, 400));cout << "before swap" << endl;printMap(m);printMap(m2);m2.swap(m);cout << "after swap" << endl;printMap(m);printMap(m2);
}int main()
{test();system("pause");return 0;
}

在这里插入图片描述

map插入和删除

在这里插入图片描述

#include<iostream>
#include<string>
using namespace std;
#include<map>void printMap(map<int,int>&m)
{for (map<int,int>::iterator it = m.begin();it != m.end();it++){//cout <<"key is: "<< (*it).first << " value is "<<(*it).second<<endl;cout << "key is: " << it->first << " value is " << it->second << endl;}cout << endl;
}void test()
{//创建map容器map<int, int>m;//插入//第一种m.insert(pair<int, int>(1, 10));//第二种m.insert(make_pair(2, 50));//第三种m.insert(map<int, int>::value_type(3, 30));//第四种  不建议使用 用途:使用Key找到valuem[4] = 20;printMap(m);//删除m.erase(m.begin());printMap(m);m.erase(2);//按照key值删除printMap(m);//清空//m.erase(m.begin(),m.end());m.clear();printMap(m);
}int main()
{test();system("pause");return 0;
}

在这里插入图片描述

map查找和统计

在这里插入图片描述

#include<iostream>
#include<string>
using namespace std;
#include<map>void printMap(map<int,int>&m)
{for (map<int,int>::iterator it = m.begin();it != m.end();it++){//cout <<"key is: "<< (*it).first << " value is "<<(*it).second<<endl;cout << "key is: " << it->first << " value is " << it->second << endl;}cout << endl;
}void test()
{//创建map容器map<int, int>m;//插入m.insert(pair<int, int>(1, 10));m.insert(pair<int, int>(2, 50));m.insert(pair<int, int>(3, 30));m.insert(pair<int, int>(4, 20));printMap(m);map<int,int>::iterator pos= m.find(2);if (pos != m.end()){cout << "找到了:key is " << pos->first << " value is " << (*pos).second << endl;}else{cout << "没有找到" << endl;}
//map不允许插入重复key 元素 ,count统计而言 结果要么是0 要么是1 
//multimap的count统计可能大于1//统计int num = m.count(3);//按照key查找cout << "num is " << num << endl;
}int main()
{test();system("pause");return 0;
}

在这里插入图片描述

map容器排序

在这里插入图片描述

#include<iostream>
#include<string>
using namespace std;
#include<map>class MyCompare
{
public:bool operator()(int v1, int v2){return v1 > v2;}
};void test()
{//创建map容器map<int, int, MyCompare>m;//插入m.insert(make_pair<int, int>(1, 10));m.insert(make_pair<int, int>(2, 50));m.insert(make_pair<int, int>(3, 30));m.insert(make_pair<int, int>(4, 20));for (map<int, int, MyCompare>::iterator it = m.begin();it != m.end();it++){//cout <<"key is: "<< (*it).first << " value is "<<(*it).second<<endl;cout << "key is: " << it->first << " value is " << it->second << endl;}cout << endl;}int main()
{test();system("pause");return 0;
}

在这里插入图片描述

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

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

相关文章

kubernetes部署jenkins

参考&#xff1a;kubernetes 部署 Jenkins jenkins kubernetes pipeline_mob64ca14116c53的技术博客_51CTO博客 第七篇&#xff1a;kubernetes部署jenkins-CSDN博客 1、当前kubernetes集群已部署nfs服务 showmount -e 创建jenkins目录 2、添加jenkins的pvc kubectl create …

Redis(集合Set和有序集合SortedSet)

SET集合中的元素是不允许重复的&#xff0c;SET中的命令都是以S开头的。 使用SADD 在集合中添加元素&#xff0c;使用SMEMBERS查看元素。 当添加重复元素时&#xff0c;会返回0代表添加失败&#xff0c;查询还是就Redis一个元素。 使用SISMEMBER查询元素是否在集合中&#xff…

大师学SwiftUI第18章Part1 - 图片选择器和相机

如今&#xff0c;个人设备主要用于处理图片、视频和声音&#xff0c;苹果的设备也不例外。SwiftUI可以通过​​Image​​视图显示图片&#xff0c;但需要其它框架的支持来处理图片、在屏幕上展示视频或是播放声音。本章中我们将展示Apple所提供的这类工具。 图片选择器 Swift…

Gdevops北京站 2023年全球敏捷运维峰会-核心PPT资料下载

一、峰会简介 2023 Gdevops全球敏捷运维峰会-北京站成功举办&#xff0c;一众产学研界技术大佬与新锐专家&#xff0c;以智能为主线&#xff0c;就数据库、运维、架构、金融科技等领域进行了前沿技术与实践经验交流&#xff0c;一同畅聊AIGC、云原生、数智化转型下的新机遇。 …

ubuntu22.04下hadoop3.3.6+hbase2.5.6+phoenix5.1.3开发环境搭建

一、涉及软件包资源清单 1、java 这里使用的是openjdk 2、hadoop-3.3.6.tar.gz 3、hbase-2.5.6-hadoop3-bin.tar.gz 4、phoenix-hbase-2.5-5.13-bin.tar.gz 5、apache-zookeeper-3.8.3-bin.tar.gz 6、openssl-3.0.12.tar.gz 二、安装 1、操作系统环境准备 换源 sudo vim /et…

【Java 进阶篇】插上翅膀:JQuery 插件机制详解

在前端开发中&#xff0c;JQuery 作为一个广泛应用的 JavaScript 库&#xff0c;为开发者提供了丰富的工具和方法&#xff0c;简化了 DOM 操作、事件处理等繁琐的任务。而在这个庞大的生态系统中&#xff0c;插件机制是 JQuery 的一项重要特性&#xff0c;使得开发者能够轻松地…

解决Redis分布式锁宕机出现不可靠问题-zookeeper分布式锁

核心思想&#xff1a;当客户端要获取锁&#xff0c;则创建节点&#xff0c;使用完锁&#xff0c;则删除该节点。 客户端获取锁时&#xff0c;在 lock 节点下创建临时顺序节点。然后获取 lock下面的所有子节点&#xff0c;客户端获取到所有的子节点之后&#xff0c;如果发现自己…

【漏洞复现】​金和OA存在任意文件读取漏洞

漏洞描述 金和OA协同办公管理系统C6软件(简称金和OA),本着简单、适用、高效的原则,贴合企事业单位的实际需求,实行通用化、标准化、智能化、人性化的产品设计,充分体现企事业单位规范管理、提高办公效率的核心思想,为用户提供一整套标准的办公自动化解决方案,以帮助企…

freetype将字符串制作成位图并显示过程详解

在流媒体项目中字幕显示是不可或缺的一环&#xff0c;一般会有字幕流在视频播放过程中进行显示&#xff1b;不过还有很多情况是从头到尾只在视频的某个区域显示某些文字&#xff0c;例如某个电视台的log&#xff1b;这种也称为字幕&#xff0c;如果想要将这些字符串显示到视频&…

Page分页records有数据,但是total=0,解决办法

Page分页records有数据&#xff0c;但是total0&#xff0c;解决办法 问题&#xff1a;程序运行起来后&#xff0c;后端接收前端传来的搜索请求信息正常&#xff0c;但无法在前端正确反馈信息&#xff0c;通过在后端排查发现total一直等于零&#xff0c;但数据库中有数据&#x…

jenkins清理缓存命令

def jobName "yi-cloud-operation" //删除的项目名称 def maxNumber 300 // 保留的最小编号&#xff0c;意味着小于该编号的构建都将被删除 Jenkins.instance.getItemByFullName(jobName).builds.findAll { it.number < maxNumber }.each { it.delet…

微服务和Spring Cloud Alibaba介绍

1、微服务介绍 1.1 系统架构演变 随着互联网的发展&#xff0c;网站应用的规模也在不断的扩大&#xff0c;进而导致系统架构也在不断的进行变化。从互联网早起到现在&#xff0c;系统架构大体经历了下面几个过程: 单体应用架构 —> 垂直应用架构 —> 分布 式架构—>…

聊一聊前端面临的安全威胁与解决对策

前端是用户在使用您的网站或Web应用程序时首先体验到的东西。如果您的Web应用程序的前端受到侵害&#xff0c;它可能会影响整个布局&#xff0c;并造成糟糕的用户体验&#xff0c;可能难以恢复。集成前端安全变得越来越重要&#xff0c;本文将指导您通过可以应用于保护您的Web应…

[nlp] 损失缩放(Loss Scaling)loss sacle

在深度学习中,由于浮点数的精度限制,当模型参数非常大时,会出现数值溢出的问题,这可能会导致模型训练不稳定。为了解决这个问题,损失缩放(Loss Scaling)技术被引入,它通过缩放损失值来解决这个问题。 在深度学习中,损失缩放技术通常是通过将梯度进行缩放来实现的。具…

vue --version无法显示,只弹出vs窗口

参考连接&#xff1a; nodejs环境配置&#xff08;解压包&#xff09;安装教程_nodejs解压版安装及环境配置_tubond的博客-CSDN博客 原因&#xff1a;环境没搞好&#xff0c;没有设置全局文件夹&#xff0c;node默认放在C盘了&#xff0c;C盘有权限。因为npm -i vue/cli创建…

文章分类列表进行查询(实体类日期格式设置)

categoryController GetMappingpublic Result<List<Category>> list(){List<Category> cs categoryService.list();return Result.success(cs);} categoryService //列表查询List<Category> list(); categoryServiceImpl Overridepublic List<Cat…

CI/CD相关概念学习

文章目录 CI/CD相关概念学习前言CI/CD相关概念介绍集成地狱持续集成持续交付持续部署Devops CI/CD相关应用介绍JenkinsTekton PipelinesSpinnakerTravis CIGoCD CI/CD相关概念学习 前言 本文主要是介绍一些 CI/CD 相关的概念&#xff0c;通过阅读本文你将快速了解 CI/CD 是什么…

Flutter NestedScrollView 、SliverAppBar全解析,悬浮菜单的应用

在我们开发过程中经常会使用到悬浮菜单的使用&#xff0c;当我们滑动到指定位置后&#xff0c;菜单会自动悬浮。 实现效果如下&#xff08;左为滑动前、右为滑动后&#xff09;&#xff1a; 上述便是通过NestedScrollView 、SliverAppBar实现的效果&#xff0c;通过两个控件我…

1.rk3588的yolov5运行:pt_onnx_rknn转换及rknn在rk3588系统python运行

自己有点笨&#xff0c;查资料查了一周才完美的实现了yolov5在rk3588环境下的运行&#xff0c;在这里写具体步骤希望大家少走弯路。具体步骤如下&#xff1a; 一、yolov5的原代码下载及pt文件转换为onnx文件 1.yolov5的原代码下载及环境搭建 在这里一定要下载正确版本的源代码…

模拟实现一个Linux中的简单版shell

exec系列接口中的环境变量 在之前我们学习了exec系类函数的功能就是将一个程序替换成另外一个程序。 然后就会出现下面的问题&#xff1a; 首先父进程对应的环境变量的信息是从bash中来的&#xff0c;因为我们自己写的父进程在运行的时候首先就要成为bash的子进程。这里我们将…