栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

STL map容器详解

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

STL map容器详解

创建

map容器模板定义如下:

template < class Key,                                     // 指定键(key)的类型
           class T,                                       // 指定值(value)的类型
           class Compare = less,                     // 指定排序规则
           class Alloc = allocator >    // 指定分配器对象的类型
           > class map;
插入

第一种:向 map 容器中插入键值对

 map mapStudent;
 mapStudent.insert(pair(1,“第一种”));

第二种:在当前 map 容器中的指定位置处构造新键值对。其效果和插入键值对一样,但效率更高。(不知道是不是真的效率高)

myMap.emplace(11,"第二种");
map各种查询

map嵌套vector,查询键值方法:

//vector嵌套vector
	int mode = 6;
	vector > ivec(mode); //6行

	//插入值
	for (int i2 = 0; i2 < ivec.size(); i2++) { //行
		for (int i = 0; i <= 3; i++) { //列
			ivec[i2].push_back(99);
		}
	}

	//遍历vector输出值
	for (int i = 0; i < mode; i++) {
		cout << endl << "行: " << i + 1 << ": ";
		for (vector::const_iterator p = ivec[i].begin(); p != ivec[i].end(); p++) {
			cout << *p << " ";
		}
	}

	cout < >>m; //map嵌套vector
	m.insert(pair >>("第一种材料", ivec));
	m.insert(pair >>("第二种材料", ivec));
	m.insert(pair >>("第三种材料", ivec));
	m.insert(pair >>("第四种材料", ivec));

	if (!m.empty()) {
		for (map >>::iterator it = m.begin(); it != m.end(); ++it) {
			cout << endl << it->first << ":"; //取map的键

			for (int i = 0; i < mode; i++) { //取map值
				cout << endl << "行: " << i + 1 << ": ";
				for (vector::const_iterator p = ivec[i].begin(); p != ivec[i].end(); p++) {
					cout << *p << " ";
				}
			}
		}
	}

map嵌套map查询键值:

	map mm;
	mm.emplace("22", "444");
	mm.emplace("22", "444");

	map>config;
	config.emplace("第一", mm);
	config.emplace("第二", mm);
	config.emplace("第三", mm);

	//遍历map容器
	if (!config.empty()) {
		for (map>::iterator it = config.begin(); it != config.end(); ++it) {
			cout << endl << it->first << ":";
			for (map::iterator mit = it->second.begin(); mit != it->second.end(); mit++) {
				cout << mit->first << " " << mit->second;
			}
		}
	}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291441.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号