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.hqwc.cn/news/192177.html

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

相关文章

在国内购买GPT服务前的一定要注意!!!

本人已经入坑GPT多日&#xff0c;从最开始的应用GPT到现在的自己研发GPT&#xff0c;聊聊我对使用ChatGPT的一些思考&#xff0c;有需要使用GPT的朋友或者正在使用GPT的朋友&#xff0c;一定要看完这篇文章&#xff0c;可能会比较露骨&#xff0c;也算是把国内知识库、AI的套路…

Python---函数练习:编写一个打招呼程序

函数的定义-------相关链接&#xff1a;Python---函数的作用&#xff0c;定义&#xff0c;使用步骤&#xff08;调用步骤&#xff09;-CSDN博客基本语法&#xff1a; def 函数名称([参数1, 参数2, ...]):函数体...[return 返回值] 函数的调用 Python中&#xff0c;函数和变量一…

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

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

Git配置代理:fatal: unable to access*** github Failure when receiving data from

~吐槽一下 github自从被微软收购以后&#xff0c;大多数情况没点科技上网都进不去了&#xff0c;还是怀念以前随时访问的时光。 我一直都是开着系统代理的&#xff0c;但是今天拉一个项目发现拉不下来了&#xff0c;报错&#xff1a; fatal: unable to access https://githu…

Golang环境搭建Win10(简洁版)

Golang环境搭建Win10 Golang环境搭建(Win10)一、前言二、Golang下载三、配置环境变量3.1、配置GOROOT3.2、配置GOPATH3.3、配置GOPROXY代理 Golang环境搭建(Win10) 一、前言 Go&#xff08;又称 Golang&#xff09;是 Google 的 Robert Griesemer&#xff0c;Rob Pike 及 Ken…

softmax的高效CUDA编程和oneflow实现初步解析

本文参考了添加链接描述,其中oneflow实现softmax的CUDA编程源代码参考链接添加链接描述 关于softmax的解读以及CUDA代码实现可以参考本人之前编写的几篇文章添加链接描述,添加链接描述,添加链接描述 下面这个图片是之前本人实现的softmax.cu经过接入python接口,最终和pytor…

2.3 调用智谱 API

调用智谱 API 1 申请调用权限2 调用智谱 AI API3 使用 LangChain 调用智谱 AI参考&#xff1a; 智谱 AI 是由清华大学计算机系技术成果转化而来的公司&#xff0c;致力于打造新一代认知智能通用模型。公司合作研发了双语千亿级超大规模预训练模型 GLM-130B&#xff0c;并构建了…

Alibaba Nacos注册中心源码剖析

Nacos&Ribbon&Feign核心微服务架构图 架构原理&#xff1a; 微服务系统在启动时将自己注册到服务注册中心&#xff0c;同时对外发布 Http 接口供其它系统调用&#xff08;一般都是基于Spring MVC&#xff09;服务消费者基于 Feign 调用服务提供者对外发布的接口&…

计算机msvcr120.dll丢失的解决方法,分享多种亲测可靠的方法

在使用计算机的过程中&#xff0c;我们有时可能会遇到一些技术问题&#xff0c;其中之一就是提示丢失msvcr120.dll文件。当计算机提示丢失msvcr120.dll文件时&#xff0c;可能是由于某些程序无法找到这个文件&#xff0c;从而导致程序无法正常运行。那么我们需要如何解决修复好…

操作系统(存储管理进程管理设备管理)

文章目录 存储管理页式存储管理概念优点缺点页面置换算法快表&#xff08;很快速的页表&#xff09; 段式存储管理概念优点缺点 段页式存储管理概念优点缺点 进程管理概述作用特征功能分类计算机启动基本流程 进程管理进程的组成进程的基础状态前趋图进程资源图同步和互斥信号量…

取消Element UI响应式设计——打造固定布局的菜单

引言 在当今的Web开发中&#xff0c;响应式设计已经成为了一个不可或缺的部分。然而&#xff0c;有时候我们可能需要取消这种响应式特性&#xff0c;尤其是对于一些特定的界面元素&#xff0c;如导航菜单。在Element UI框架中&#xff0c;导航菜单&#xff08;el-menu&#xff…

python的文件目录操作 1

我们在实际开发中&#xff0c;经常需要对文件进行读取、遍历、修改等操作&#xff0c;通过 python 的标准内置os模块&#xff0c;能够以简洁高效的方式完成这些操作。常见的操作整理如下&#xff1a; 文件夹操作&#xff1a;包括文件夹的创建、修改&#xff08;改名/移动&…