map unordered_map

news/2024/9/25 12:13:50

map

#include <bits/stdc++.h> //map的基本操作如下
using namespace std;int main()
{// 构造函数map <string,int> dict;//   下标类型 存储的值的类型  // 插入数据的三种方式dict.insert(pair <string,int> ("apple",2));dict.insert(map <string, int> :: value_type("orange",3));dict["banana"] = 6;// 判断是否有元素if(dict.empty())cout<<"该字典无元素"<<endl;elsecout<<"该字典共有"<<dict.size()<<"个元素"<<endl;// 遍历map <string,int> :: iterator iter;for(iter = dict.begin();iter != dict.end();iter++){cout << iter->first << ends << iter->second << endl;}// 查找if((iter = dict.find("banana")) != dict.end()) //  返回一个迭代器指向键值为key的元素,如果没找到就返回end()cout << "已找到banana,其value为" << iter->second << "." << endl;elsecout << "未找到banana." << endl;if(dict.count("watermelon") == 0) // 返回键值等于key的元素的个数cout << "watermelon不存在" << endl;elsecout << "watermelon存在" << endl;pair <map<string,int> :: iterator, map<string,int> :: iterator> ret;ret = dict.equal_range("banana"); // 查找键值等于 key 的元素区间为[start,end),指示范围的两个迭代器以 pair 返回cout << ret.first->first << ends << ret.first->second << endl;cout << ret.second->first << ends << ret.second->second << endl;iter = dict.lower_bound("boluo"); // 返回一个迭代器,指向键值>=key的第一个元素。cout << iter->first << endl;iter = dict.upper_bound("boluo"); // 返回一个迭代器,指向值键值>key的第一个元素。cout << iter->first << endl;return 0;
}

unordered_map

#include<bits/stdc++.h>    
using namespace std;  int main()
{unordered_map <string,int> dict; // 声明unordered_map对象// 插入数据的三种方式dict.insert(pair<string,int>("apple",2));dict.insert(unordered_map<string, int>::value_type("orange",3));dict["banana"] = 6;// 判断是否有元素if(dict.empty())cout<<"该字典无元素"<<endl;elsecout<<"该字典共有"<<dict.size()<<"个元素"<<endl;// 遍历unordered_map <string,int> :: iterator iter;for(iter = dict.begin();iter != dict.end();iter++)cout << iter->first << ends << iter->second << endl;// 查找if(dict.count("boluo") == 0)cout << "can't find boluo!" << endl;elsecout << "find boluo!" << endl;if((iter = dict.find("banana")) != dict.end())cout << "banana=" << iter->second << endl;elsecout << "can't find boluo!" << endl;return 0;
}

CSDN讲解

. . . . . .

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

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

相关文章

【日记】感觉自己已经魔怔了(817 字)

正文下午装档案的时候,无意间朝外看了一眼,发现自己视力衰退了好多。感觉两只眼睛都有散光了,看东西有重影。有些担心。兄长血检报告出来了,血红蛋白高,肌酐低。尿酸倒是正常了,但总体还是偏高。我觉得好奇怪,他降尿酸怎么这么难…… 更奇怪的是他说心电图时不紧张,但窦…

DNS正向解析和反向解析的区别

在网络世界中,域名系统(DNS)起着至关重要的作用,它就如同网络世界的导航地图,帮助我们在浩瀚的数字海洋中准确找到目标。而在DNS中,正向解析和反向解析是两个重要的概念,它们有着明显的区别。 首先,正向解析是将域名转换为IP地址的过程。当我们在浏览器中输入一个网址,…

DNS云解析和普通解析一样吗

在当今数字化时代,网络的稳定与高效运行至关重要。域名系统(DNS)作为互联网的基础设施之一,其解析服务的质量直接影响着用户的网络体验。近年来,DNS云解析逐渐兴起,与传统的普通解析相比,它们之间存在着显著的区别。 首先,在可靠性方面,DNS云解析具有明显优势。普通解…

【学习笔记】数学证明方法

持续更新中持续更新中最值定理前提条件: 函数 \(f(x)\) 在区间内是连续的在满足前提的情况下,设区间上界为 \(a\),下界为 \(b\) 那么函数 \(f(x)\) 一定能取到区间 \((a,b)\) 内的所有值介值定理前提条件: 函数 \(f(x)\) 在区间内是连续的当区间 \([a,b]\) 上界为 \(A\),下…

【YashanDB知识库】多表更新报错 YAS-04344 multi-table update is not supported

本文内容来自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7369204.html?templateId=1718516 【问题分类】功能使用 【关键字】YAS-04344,UPDATE,multi-table update,MERGE INTO 【问题描述】 在崖山环境执行类似以下语法进行多表更新报 YAS-04344 multi-…

【YashanDB知识库】查询YashanDB表空间使用率

本文转自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7369203.html?templateId=1718516 【问题分类】功能使用 【关键字】表空间,使用率 【问题描述】YashanDB使用过程中,如何查询表空间的使用率 【问题原因分析】需要查询相应的YashanDB系统表,计算表空…

QT C++ 自学积累 『非技术文』

QT C++ 自学积累 『非技术文』最近一段时间参与了一个 QT 项目的开发,使用的是 C++ 语法,很遗憾的是我之前从来没有接触过 C++ ,大学没有开过这堂课,也没用自己学习过,所有说上手贼慢,到现在为止其实也不是很清楚具体的开发技巧,毕竟是参与,东一复制西一粘贴的,就拉倒…

cameralink卡设计原理图:287-基于FMC接口的1路Base cameralink输入1路Base cameralink输出子卡

基于FMC接口的1路Base cameralink输入1路Base cameralink输出子卡 一、板卡概述 该板卡是我公司自主研发的1路Base cameralink输入,1路Base cameralink输出的FMC子卡,LPC-FMC连接器。FMC连接器是一种高速多pin的互连器件,广泛应用于板卡对接的设备中,特别是在xilinx公司的所…