C++,stl,map/multimap详解

目录

1.map的构造和赋值 

2.map的大小和交换

3.map的插入和删除

4.map的查找和统计

5.map的排序


1.map的构造和赋值 

#include<bits/stdc++.h>
using namespace std;

void print(map<int,int> &mp)
{
	for(map<int,int>::iterator it = mp.begin(); it != mp.end(); it++)
	{
		cout << it -> first << ' ' << it -> second;
		cout << endl;
	}
	cout << endl;
}

int main()
{
	map<int,int> mp;
	mp.insert(pair<int,int>(1,90));
	mp.insert(pair<int,int>(2,950));
	mp.insert(pair<int,int>(7,920));
	mp.insert(pair<int,int>(5,10));
	mp.insert(pair<int,int>(6,80));
	//按照key的值进行排序
	print(mp);
	
	return 0;
}

 

2.map的大小和交换

#include<bits/stdc++.h>
using namespace std;

void print(map<int,int> &mp)
{
	for(map<int,int>::iterator it = mp.begin(); it != mp.end(); it++)
	{
		cout << it -> first << ' ' << it -> second;
		cout << endl;
	}
	cout << endl;
}

int main()
{
	map<int,int> mp;
	mp.insert(pair<int,int>(1,90));
	mp.insert(pair<int,int>(2,950));
	mp.insert(pair<int,int>(7,920));
	mp.insert(pair<int,int>(5,10));
	mp.insert(pair<int,int>(6,80));
	//按照key的值进行排序
	print(mp);
	
	cout << mp.empty() << endl;
	cout << mp.size() << endl;
	
	map<int,int>mp1;
	mp1.swap(mp);
	print(mp1);
	
	return 0;
}

3.map的插入和删除

#include<bits/stdc++.h>
using namespace std;

void print(map<int,int> &mp)
{
	for(map<int,int>::iterator it = mp.begin(); it != mp.end(); it++)
	{
		cout << it -> first << ' ' << it -> second;
		cout << endl;
	}
	cout << endl;
}

int main()
{
	map<int,int> mp;
	mp.insert(pair<int,int>(1,90));
	mp.insert(pair<int,int>(2,950));
	
	mp.insert(make_pair(7,920));
	
	mp.insert(pair<int,int>(5,10));
	
	mp[6] = 80;
	//按照key的值进行排序
	print(mp);
	
	mp.erase(6);
	//按照key删除
	mp.erase(mp.begin());
	//也可以传迭代器进行删除
	print(mp);
	
	mp.clear();
	print(mp);
	
	return 0;
}

4.map的查找和统计

#include<bits/stdc++.h>
using namespace std;

void print(map<int,int> &mp)
{
	for(map<int,int>::iterator it = mp.begin(); it != mp.end(); it++)
	{
		cout << it -> first << ' ' << it -> second;
		cout << endl;
	}
	cout << endl;
}

int main()
{
	map<int,int> mp;
	mp.insert(pair<int,int>(1,90));
	mp.insert(pair<int,int>(2,950));
	mp.insert(make_pair(7,920));
	mp.insert(pair<int,int>(5,10));
	mp[6] = 80;
	
	map<int,int>::iterator it = mp.find(5);
	//从前往后找map里有没有key为5的,没找到的话迭代器就在mp.end()处
	if(it != mp.end()) cout << "找到了" << endl;
	
	cout << mp.count(7) << endl;
	//输出有几个key为7的数,这里只有一个
	
	return 0;
}

5.map的排序

改成从大到小 

#include<bits/stdc++.h>
using namespace std;

class cmp
{
public:
	bool operator()(int v1,int v2)
	{
		return v1 > v2;
	}
};

int main()
{
	map<int,int,cmp> mp;
	mp.insert(pair<int,int>(1,90));
	mp.insert(pair<int,int>(2,950));
	mp.insert(make_pair(7,920));
	mp.insert(pair<int,int>(5,10));
	mp[6] = 80;
	
	for(map<int,int,cmp>::iterator it = mp.begin(); it != mp.end(); it++)
	{
		cout << it -> first << ' ' << it -> second << endl;
	}
	
	return 0;
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python安装cv2失败

问题:安装cv2包失败 解决方法&#xff1a; pip install opencv-python或在Anaconda中conda install opencv-python

原神4.0.1单机版【开局满级】纯单机,无限原石材料

版本介绍 版本4.0.1稳定版【过分追新并不稳&#xff0c;合理才完美】 独家原神&#xff0c;游戏内自带剧情任务&#xff0c;完美仿官&#xff0c;一比一完美复制&#xff01; 已经拥有完美剧情、任务、副本、卡池、深渊、全物品、和全部功能和皮肤。 修改注意 如果要进行不…

Agile Initiative, Epic, and Story/Task

Stories, also called “user stories,” are short requirements or requests written from the perspective of an end user. stories are something the team can commit to finish within a one- or two-week sprint.Epics are large bodies of work that can be broken do…

《软件方法》强化自测题-杂项题目解析01

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 杂项&#xff08;1&#xff09; 3 [ 单选题 ] 《软件方法》第1章“建模和UML”开头所引用的歌曲&#xff0c;其词曲作者还写过下列歌曲中的&#xff1a; A) 爱江山更爱美人&#…

linux信号机制[一]

目录 信号量 时序问题 原子性 什么是信号 信号如何产生 引入 信号的处理方法 常见信号 如何理解组合键变成信号呢&#xff1f; 如何理解信号被进程保存以及信号发送的本质&#xff1f; 为什么要有信号 信号怎么用&#xff1f; 样例代码 core文件有什么用呢&#…

【Java程序设计】【C00268】基于Springboot的CSGO赛事管理系统(有论文)

基于Springboot的CSGO赛事管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的赛事管理系统 本系统分为系统功能模块、管理员功能模块、参赛战队功能模块以及合作方功能模块。 系统功能模块&#xff1a;在系…

AMD FPGA设计优化宝典笔记(3)控制集

控制集 1 控制集的个数要求 控制集 control set&#xff1a;因为 7 系列 FPGA&#xff0c;一个 slice 只能有一种控制集&#xff08;触发器的使用方式 比如有复位/有时钟使能等等&#xff09;&#xff0c;多了就会分布到不同的 slice 里&#xff0c; 所以代码尽量统一触发器的…

寒假作业——2/13

作业1 作业2 cp cp 当前的文件位置 复制到哪个位置 格式 : cp 路径/文件 路径/目录名/重新命名的目录名 mv mv 当前的文件位置 复制到哪个位置 格式 : mv 路径/文件 路径/目录名/重新命名的目录名 也可进行重命名操作 find 查找文件 find 目标路径 -name 文件名 后续…

C++ matplotlib 画图 Linux

Matplotlib-cpp画图 命令行下载matplotlibcpp git clone https://github.com/lava/matplotlib-cpp将matplotlibcpp.h移动到自己所用的工程 CMakeList.txt文件如下所示 cmake_minimum_required(VERSION 3.0.2) project(huatu)set(CMAKE_CXX_STANDARD 11)file(GLOB_RECURSE P…

Docker容器化K8s集群部署教程(一键部署sheel脚本)

本文通过脚本&#xff0c;可以快速地部署和配置Kubernetes环境&#xff0c;省去了各插件手动部署、配置的繁琐过程。 先看最终结果&#xff1a; [rootlocalhost home]# kubectl get node NAME STATUS ROLES AGE VERSION k8smaster Ready control-p…

AI引领低代码革命:未来应用开发的新主流

距离ChatGPT发布已经过去快一年时间。 在这一年里&#xff0c;以ChatGPT为代表的自然语言处理领域的重大进步&#xff0c;为我们的对话系统和语言交流提供了更加智能和自然的体验。随着ChatGPT的应用不断扩大&#xff0c;人们开始认识到人工智能&#xff08;AI&#xff09;技术…

分享84个jQuery特效,总有一款适合您

分享84个jQuery特效&#xff0c;总有一款适合您 84个jQuery特效下载链接&#xff1a;https://pan.baidu.com/s/1P9fmHWRdaCRMXr3H9sNA1A?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理…

微软为新闻编辑行业推出 AI 辅助项目,记者参加免费课程

2 月 6 日消息&#xff0c;微软当地时间 5 日发布新闻稿宣布与多家新闻机构展开多项基于生成式 AI 的合作。微软表示&#xff0c;其使命是确保新闻编辑室在今年和未来拥有创新。 目前建议企业通过微软官方合作伙伴获取服务&#xff0c;可以合规、稳定地提供企业用户使用ChatGP…

springboot160社区智慧养老监护管理平台设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

Ubuntu Desktop - Screenshot (截图工具)

Ubuntu Desktop - Screenshot [截图工具] 1. Search your computer -> Screenshot -> Lock to Launcher2. gnome-screenshot3. System Settings -> Keyboard -> ShortcutsReferences 1. Search your computer -> Screenshot -> Lock to Launcher 2. gnome-s…

qt “美颜”

要想成为一名优秀的qt工程师 学会使用qss编程也是重要的 不可获缺的一部分 qss 简介和优势 QSS&#xff08;Qt Style Sheets&#xff09;是一种用于定义Qt应用程序界面外观和样式的样式表语言。它类似于CSS&#xff08;层叠样式表&#xff09;&#xff0c;但针对Qt框架进行了定…

python+ flask+MySQL旅游数据可视化81319-计算机毕业设计项目选题推荐(免费领源码)

摘要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对旅游数据可视化等问题&#xff0c;对旅游数据…

26. 可变参数和Collection集合工具类

可变参数与Collections 1. 可变参数1. 概述2. 格式3. 代码示例4. 注意事项 2. Collections集合工具类2.1 概述2.2 方法2.3 代码示例2.4 注意事项 1. 可变参数 1. 概述 可变参数&#xff08;Variable Arguments&#xff09;是指在参数列表中允许传入不定个数的参数。在许多编程…

Linux操作系统基础(十三):Linux安装、卸载MySQL

文章目录 Linux安装、卸载MySQL 一、卸载系统自带的mariadb-lib 二、上传安装包并解压 三、按顺序安装 错误1: 错误2: 错误3: 错误4: 四、初始化数据库 五、目录授权&#xff0c;否则启动失败 六、启动msyql服务 七、查看msyql服务的状态 八、在/var/log/mysqld.l…

【大厂AI课学习笔记】1.5 AI技术领域(6)目标检测

目标检测是CV中的重要场景。 在图像中定位感兴趣的目标&#xff0c;准确判断每个目标的类别&#xff0c;并给出每个目标的边界框。 上图是目标检测的典型应用案例。 目标检测的难点是小目标的高精度检测。 目前主要的应用领域是机器人导航、自动驾驶、智能视频监督、工业检测…