map的用法
来源:互联网 发布:js amd cmd区别 编辑:程序博客网 时间:2024/06/06 18:10
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。
下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述,很明显学号用int描述,姓名用字符串描述(本篇文章中不用char *来描述字符串,而是采用STL中string来描述),下面给出map描述代码:
Map<int, string>mapStudent;
这是一个项目的代码(垃圾分类)
在.h中
typedef enum {
PAPER=3,//废纸垃圾桶
GLASS=7,//玻璃瓶垃圾桶
METAL=8,//铝罐垃圾桶
PLASTIC=5,//塑料垃圾桶
ORGANICS=6,//厨余垃圾桶
CLOTHES=1,//旧衣物垃圾桶
HARMFUL=4,//有害垃圾桶
OTHER=2//其他垃圾桶
} TRASH_TYPE;
map<TRASH_TYPE,vector<GARBAGE_TYPE> > trashInfo;//垃圾类型与垃圾对应信息
在.cpp中void LevelProxy::initLevelInfo() {
levelEasyInfo[1].push_back(PAPER);
levelEasyInfo[2].push_back(PAPER);
levelEasyInfo[2].push_back(PLASTIC);
levelEasyInfo[3].push_back(PAPER);
levelEasyInfo[3].push_back(GLASS);
levelEasyInfo[4].push_back(PLASTIC);
levelEasyInfo[4].push_back(GLASS);
levelEasyInfo[5].push_back(PLASTIC);
levelEasyInfo[5].push_back(METAL);
levelEasyInfo[6].push_back(GLASS);
levelEasyInfo[6].push_back(METAL);
levelEasyInfo[7].push_back(PAPER);
levelEasyInfo[7].push_back(CLOTHES);
levelEasyInfo[8].push_back(PLASTIC);
levelEasyInfo[8].push_back(CLOTHES);
levelEasyInfo[9].push_back(GLASS);
levelEasyInfo[9].push_back(CLOTHES);
levelEasyInfo[10].push_back(METAL);
levelEasyInfo[10].push_back(CLOTHES);
levelHardInfo[1].push_back(ORGANICS);
levelHardInfo[2].push_back(CLOTHES);
levelHardInfo[2].push_back(ORGANICS);
levelHardInfo[3].push_back(CLOTHES);
levelHardInfo[3].push_back(ORGANICS);
levelHardInfo[3].push_back(HARMFUL);
levelHardInfo[4].push_back(PAPER);
levelHardInfo[4].push_back(ORGANICS);
levelHardInfo[4].push_back(HARMFUL);
levelHardInfo[5].push_back(PLASTIC);
levelHardInfo[5].push_back(ORGANICS);
levelHardInfo[5].push_back(HARMFUL);
levelHardInfo[6].push_back(GLASS);
levelHardInfo[6].push_back(ORGANICS);
levelHardInfo[6].push_back(HARMFUL);
levelHardInfo[7].push_back(METAL);
levelHardInfo[7].push_back(ORGANICS);
levelHardInfo[7].push_back(HARMFUL);
levelHardInfo[8].push_back(HARMFUL);
levelHardInfo[8].push_back(ORGANICS);
levelHardInfo[8].push_back(OTHER);
levelHardInfo[9].push_back(CLOTHES);
levelHardInfo[9].push_back(ORGANICS);
levelHardInfo[9].push_back(OTHER);
levelHardInfo[10].push_back(CLOTHES);
levelHardInfo[10].push_back(HARMFUL);
levelHardInfo[10].push_back(OTHER);
}
- 关于map的用法
- map的用法
- STL的map用法
- STL的map用法
- STL的map用法
- map的用法
- map 的用法
- map的用法
- map的用法
- Map.EntrySet的用法
- Map的用法详解
- Map.EntrySet的用法
- Java Map的用法
- std::map的用法
- map的用法
- c++map的用法
- map的详细用法
- Map的用法详解
- 浮点运算器
- Android应用性能 分析
- js 刷新iframe,调用父窗口函数
- Ubuntu12.04 Git继承Beyond Compare3
- Dataset和DataReader的区别
- map的用法
- ASCII码值表
- ios 测试网络是否连接
- Effective C++ (3rd Ed) 读书笔记(一)Item 2: Prefer constS, enumS, and inlineS to #defineS
- 每月的首尾
- Illustrator画出可爱驯鹿头像
- 再谈U-Boot的设备管理框架
- Oracle实例恢复——说说前滚和回滚
- 4.12 《硬啃设计模式》 第29章 行为型设计模式小结