当前位置: 首页 > news >正文

C++ 之 Map

Map


map 是C++ STL中的关联容器, key-Value键值对存储,一对一的映射关系。

内部结构采用的是红黑树, 它会实现对数据的自动排序 ,所以map内部所有的数据都是有序的。

#include <map>

定义的结构: map<数据类型1, 数据类型2> 变量名

map<int, int> m1;
map<int, string> m2;std::unordered_map<std::string, Texture2D*> _textures;
Map<std::string, SpriteFrame*> _spriteFrames;
Map<std::string, Animation*> _animations;

常用的方法:

  • empty 检测是否为空

  • find 返回key所在的位置

  • size 返回map映射中的对数

  • clear 清空map中的所有元素

  • begain 返回头部的迭代器

  • end 返回尾部+1的迭代器

  • rebegin 返回尾部的迭代器

  • rend 返回头部-1的迭代器

  • insert 插入元素

// 插入pair对象
m1.insert(pair<int, string>(1, "str"));
// 插入value_type数据
m1.insert(map<int, string>::value_type(2, "str"));
// 通过赋值方法插入
m1[111] = "666"
  • erase 删除元素
// 删除元素的迭代器
m2.erase(it);
// 删除元素的key
m2.erase(key);
// 删除指定范围内的元素
m2.erase(first, last);	

基本使用:

#include<iostream>
#include<map>
using namespace std;
int main() {map<int,string> m1;m1[1]="ctx";m1[2]="cxt";m1[3]="txc";m1[10]="txt";m1[5]="666";map<int,string>::iterator it;for(it=m1.begin();it!=m1.end();it++){cout<< it->first <<" "<< it->second <<endl;}//it->为Key,it->second为Value 
}

待补充…

http://www.lryc.cn/news/193938.html

相关文章:

  • MongoDB——centOS7环境Mongodb权限管理(图解版)
  • AndroidX项目接入穿山甲广告填坑
  • 汽车电子 - matlab - 用法
  • freefilesync文件同步软件
  • 【2023】M1/M2 Mac 导入Flac音频到Pr的终极解决方案
  • C# 图解教程 第5版 —— 第6章 方法
  • 283 移动零
  • maven 编译.../maven-metadata.xml 报错
  • 【Rust笔记】Rust与Java交互-JNI模块编写-实践总结
  • uniapp:幸运大转盘demo
  • android 13.0 通过系统自定义服务控制屏幕亮屏和灭屏操作
  • 【SQL】新建库表时,报错attempt to write a readonly database
  • C++ --STL
  • 一卷到底,大明哥带你横扫 Netty
  • Python Opencv实践 - 车辆统计(1)读取视频,移除背景,做预处理
  • ROS-6.参数的使用
  • 机器视觉在自动驾驶汽车中的应用与挑战
  • 欠拟合、过拟合及优化:岭回归
  • Mybatis学习笔记注解/xml映射/动态SQL%%%Mybatis教程
  • Git纯操作版 项目添加和提交、SSH keys添加、远程仓库控制、冲突解决、IDEA连接使用
  • 使用OpenSSL生成自签证书
  • Spring源码解析——Spring事务是怎么通过AOP实现的?
  • 机器人革命:脑洞大开的前沿机器人技术!
  • 微信小程序动态海报
  • 手写单例模式
  • 介绍6种解决电脑找不到vcomp140.dll,无法继续执行代码的方法。
  • mysql数据物理迁移
  • 构建图像金字塔:探索 OpenCV 的尺度变换技术
  • ios app开发环境搭建
  • mysql面试题45:读写分离常见方案、哪些中间件可以实现读写分离