C++中map查找元素是否存在的3种方式

这篇具有很好参考价值的文章主要介绍了C++中map查找元素是否存在的3种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. map[key]

通过键直接查找,如果存在就返回对应的值,如果不存在则返回0

	map<char, int>map1;
	map1['a'] = 1;
	map1['b'] = 2;

	cout << map1['a'] << endl; // 返回1
	cout << map1['c'] << endl; // 返回0

2. map.find(key)

返回key对应的迭代器,如果不存在则返回map.end(),时间复杂度为O(logN)

	if (map1.find('d') == map1.end())
		cout << "NOT FONUND" << endl;
	cout << map1.find('a')->second << endl; // 输出1

3. map.count(key)

如果key存在就返回1,如果不存在则返回0。

	cout << "map.count():" << endl;
	cout << map1.count('b') << endl; // 返回1
	cout << map1.count('d') << endl; // 返回0

完整测试代码:

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

int main() {
	map<char, int>map1;
	map1['a'] = 1;
	map1['b'] = 2;

	cout << map1['a'] << endl; // 返回1
	cout << map1['c'] << endl; // 返回0

	cout << "map.find():" << endl;
	if (map1.find('d') == map1.end())
		cout << "NOT FONUND" << endl;
	cout << map1.find('a')->second << endl; // 输出1

	cout << "map.count():" << endl;
	cout << map1.count('b') << endl; // 返回1
	cout << map1.count('d') << endl; // 返回0

	return 1;
}

C++中map查找元素是否存在的3种方式

发现一个有趣的问题:

输出一个不存在的key的map映射值时,会把这个值存到map1里面,0为对应的value。
cout<<map[不存在的key];

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

int main() {
	map<char, int>map1;
	map1['a'] = 1;
	map1['b'] = 2;

	cout << map1['a'] << endl; // 返回1
	cout << map1['c'] << endl; // 这里相当于存入了['c',0]到map1中

	cout << "map.find():" << endl;
	if (map1.find('c') == map1.end())
		cout << "NOT FONUND" << endl;
	cout << map1.find('c')->second << endl; // 返回0

	cout << "map.count():" << endl;
	cout << map1.count('b') << endl; // 返回1
	cout << map1.count('c') << endl; // 'c'存在所以返回1

	return 1;
}

C++中map查找元素是否存在的3种方式文章来源地址https://www.toymoban.com/news/detail-505705.html

到了这里,关于C++中map查找元素是否存在的3种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端算法题——给定一个整数数组,判断是否存在重复元素。

    题目可以理解为如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false。 这题一看就是 计数问题,题目中“如果存在一值在数组中出现至少两次”这句话就告诉我们记录每一个数字出现的次数就能解决问题了。  我们遍历数组时,

    2024年02月20日
    浏览(88)
  • UI自动化 - 如何判断一个页面上元素是否存在?

    在做 UI 自动化时,使用 UI 自动化测试工具进行自动化测试,如何判断一个页面上元素是否存在? 有没有做过 UI 自动化测试,如何判断元素在页面上是否存在? 面试官想了解: 是否真的做过 UI 自动化测试 在做测试的时候遇到元素难定位的问题如何解决,如何判断元素在页

    2023年04月10日
    浏览(60)
  • Python 判断字典中 key 是否存在(三种方式)

    方式一: has_key() ,在 python2.2 之前已经被放弃,所以推荐使用其他方式。 方式二: keys() ,需要 in 配合使用,也可以使用 not in 方式三: in 或 not in , 【推荐使用】

    2024年02月13日
    浏览(40)
  • [SQL Server 2008R2] 有关于判断表、字段、存过等元素是否存在相关SQL写法

    查询普通表是否存在可以使用object_id函数,下面的例子是查询表“t_test”是否存在之后从而进行其他的DLL操作:   临时表同样可以用object_id但是表名要记得加上库名和表空间: 或者 以上这个条件自行发挥,我这边使用的是like语句,判断的是只要是#temp开头的临时表存在。 有

    2023年04月26日
    浏览(82)
  • C++判断文件夹是否存在,不存在则创建(linux和windows)

    Windows需要如下头文件: Linux需要如下头文件: 具体实现过程如下: 如果需要删除则将mkdir替换为rkdir即可

    2024年02月12日
    浏览(80)
  • C++之判断文件是否存在的几种方法

    文章目录 1. 方法一:C语言之access 2. 方法二:C++方法之ifstream 3. 方法三:fopen方法 4. 方法四:sys中的stat函数方法 可以使用C语言中unistd.h里的函数access()来判断文件是否存在,其原型如下: filename是文件名,mode有下列几种方法: mode Description F_OK 测试文件是否存在 R_OK 测试文件

    2024年02月13日
    浏览(70)
  • map及unordered_map插入及访问元素的两种方式

    概述:一是使用容器的insert函数插入元素,使用迭代器访问元素,该方法是最通用的做法,适用于各种元素类型;二是使用[]插入和访问元素,要求元素必须是可默认构造的。 一、使用insert()插入,使用迭代器访问 二、使用[]插入和访问元素,需要注意的是此时元素必须是

    2024年02月12日
    浏览(39)
  • 恶意IP检测API接口,恶意IP威胁情报查询,通过大数据查询IP是否存在威胁或恶意。

    恶意IP检测,是指使用多种手段来检测IP地址是否存在威胁或恶意。在当前的网络安全环境下,恶意攻击已经成为常态化,各种类型的攻击不断涌现,其中大部分的攻击都是通过IP地址发起的。因此,对IP地址的安全性进行监控和检测,是保障网络安全的重要手段之一。 恶意

    2024年02月06日
    浏览(56)
  • 微信小程序wxss定位/选择/查找元素的几种方式

    wxss定位、选择、查找元素的几种方式与css类似,下面介绍常用的几种: 选择器 样例 样例描述 .class .intro 选择所有拥有 class=\\\"intro\\\" 的组件

    2024年01月16日
    浏览(55)
  • 通过python 获取当前局域网内存在的IP和MAC

    通过python 获取当前局域网内存在的ip

    2024年02月10日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包