首页 > 其他分享 >map:映射库

map:映射库

时间:2023-04-22 16:12:03浏览次数:30  
标签:map begin end apple 映射 m2 banana

#include <map>
using namespace std;
map<string, int> m1; // 定义一个空的map,键类型为string,值类型为int
map<string, int> m2 = {{"apple", 1}, {"banana", 2}, {"orange", 3}}; // 使用花括号进行初始化
map<string, int> m3(m2); // 使用拷贝构造函数进行初始化

#include <map>
using namespace std;
map<string, int> m = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
// 获取map的大小
int size = m.size();
// 判断map中是否包含某个键
bool contains = m.count("apple"); // 判断map中是否包含键"apple"
// 获取map中某个键对应的值
int value = m["apple"]; // 获取键"apple"对应的值
// 修改map中某个键对应的值
m["apple"] = 4; // 将键"apple"对应的值修改为4
// map的插入和删除
m.insert({"pear", 5}); // 在map中插入键值对"pear"和5
m.erase("apple"); // 删除map中的键"apple"及其对应的值
// map的遍历
for (auto it = m.begin(); it != m.end(); ++it) {
    cout << it->first << ": " << it->second << endl;
}
for (auto [key, value] : m) {
    cout << key << ": " << value << endl;
}

#include <map>
#include <algorithm>
using namespace std;
map<string, int> m = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
// map的排序
// map是按照键自动排序的,无需进行排序
// map的查找
auto it = m.find("apple"); // 查找键"apple"在map中的位置
if (it != m.end()) {
    cout << "apple found in map" << endl;
} else {
    cout << "apple not found" << endl;
}
// map的合并
map<string, int> m1 = {{"apple", 1}, {"banana", 2}};
map<string, int> m2 = {{"banana", 3}, {"orange", 4}};
m1.insert(m2.begin(), m2.end()); // 将m2中的键值对合并到m1中,若键相同则覆盖值
// map的排序和查找
using pair_type = decltype(m)::value_type;
auto compare = [](pair_type& p1, pair_type& p2) {
    return p1.second < p2.second;
};
// 按照值从小到大排序
vector<pair_type> v(m.begin(), m.end());
sort(v.begin(), v.end(), compare);
// 查找值最大的键
auto max_it = max_element(m.begin(), m.end(), compare);
cout << "key with max value: " << max_it->first << endl;

标签:map,begin,end,apple,映射,m2,banana
From: https://www.cnblogs.com/full-stack-linux-new/p/17343268.html

相关文章

  • from collections import namedtuple, MappingImportError: cannot import name 'Mapp
     fromcollectionsimportnamedtuple,MappingImportError:cannotimportname'Mapping'from'collections'(D:\python38\Lib\collections--init__.py)出现以上错误:底层报错了,重新安装python环境,重新选择新安装的环境即可解决。 ......
  • threejs_动态heatmap渲染
    heatmap>heatmap2d.tsimport{Mesh,Texture,MeshBasicMaterial,PlaneGeometry,Box3,Vector3,}from'three';importBasefrom'../Base';importHeatMap,{DataPoint}from'heatmap-ts';import{log}from......
  • nmap实验
    实验名称NMAP网络扫描器成绩评定所用仪器材料win10NMAP实验目的或要求一、实验目的深入Nmap网络扫描器的原理,并通过使用Nmap发现目标主机、开放端口、服务类型、版本和操作系统,进行nmap脚本及库文件编写,深入掌握网络扫描器的作用,达到以下要求:1.深入掌握信息探测技术中的nmap网络扫......
  • EasyExcel格式化映射注解和样式注解详解
     https://blog.csdn.net/qq_44749491/article/details/127879946一、概述使用注解很简单,只要在对应的实体类上面加上注解即可。也就是说使用实体类模型来读写Excel文件时,可以通过注解来控制实体类字段和Excel列之间的对应关系。二、ExcelProperty2.1作用ExcelProperty注解用......
  • 深度学习--统计与数据映射
    深度学习--统计与数据映射范数importtorch#范数norm第一范数:绝对值求和第二范数:平方和后求根号norm使用要求是浮点数a=torch.full([8],1.)#tensor([1.,1.,1.,1.,1.,1.,1.,1.])b=a.view(2,4)#tensor([[1.,1.,1.,1.],#[1.,1.,1.,......
  • unordered_map 遍历
    力扣287.寻找重复数class Solution {public:    int findDuplicate(vector<int>& nums) {        unordered_map<int,int>umap;        int result=0;        for(int i=0;i<nums.size();++i)        {          ......
  • hiveSQL mapreduce任务调优
    sethive.merge.mapredfiles=true;--在Map-Reduce的任务结束时合并小文件setmapred.max.split.size=30000000;--决定每个map处理的最大的文件大小,单位为B--setmapred.min.split.size=10000000;--公司集群默认值--setmapred.min.split.size.per.node=;......
  • Redis - 数据类型映射底层结构
    简介从数据类型上体现就是,同一个数据类型,在不同的情况下会使用不同的编码类型,底层所使用的的数据结构也不相同。字符串对象字符串对象的编码可以是int、raw和embstr三者之一。embstr编码是专门用于保存简短字符串的一种优化编码方式,与raw编码会调用两次内存分配函数分......
  • semaphore简单实例
    semaphore是java里边的信号灯,感觉很像blockqueue,嗯 packagecom.mutiple;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;importjava.util.concurrent.Semaphore;publicclassTestSemaphore{ publicstaticvoidmain(String[]......
  • java 增删改查接口命名规范(service与mapper)
    阿里推荐命名规范:转载自:https://www.cnblogs.com/zengzy698/p/15939088.html......