栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ map

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

C++ map

原文链接

原文链接

初始化

构造空容器

	map map1;

列表初始化,构造, 排序递增

	map> map2{ { 1, "A" },{ 2, "B" },{ 3, "C" },{ 4, "D" },{ 5, "E" } };

列表初始化,构造, 排序递减

	map> map6{ { 1, "A" },{ 2, "B" },{ 3, "C" },{ 4, "D" },{ 5, "E" } };

列表初始化,构造, 排序自定义

struct myCompare {
	bool operator()(const int& k1, const int& k2) {
		return k1 < k2;
	}
};
	map map7{ { 1, "A" },{ 2, "B" },{ 3, "C" },{ 4, "D" },{ 5, "E" } };

范围构造,排序递增

	map> map3(map2.begin(), map2.end());

范围构造,排序递减

	map> map8(map2.begin(), map2.end());

拷贝构造,类型必须一致,包括排序,排序递增

	map> map4(map3);

拷贝构造,排序递增

	map> map9(map8);

赋值构造,类型必须一致,包括排序,排序递增

	map> map10 = map4;

赋值构造,类型必须一致,包括排序,排序递减

	map> map11 = map9;
注意

map在传时 必须注意map初始化时的排序类型,如果排序函数不一样,也会视作不同的类型

插入

用insert函數插入pair

map2.insert(pair(000, "zero"));

用insert函数插入value_type数据

map2.insert(map::value_type(001, "one"));

利用Key值插入值,如果没有该key则插入,如果已经存在该key则会更新value

map2[0] = "first";

判断值插入是否成功,如果成功Insert_Pair.second返回true,否则返回false
map>::iterator 如果插入成功,返回该数据的迭代器,如果失败,则返回相同key的迭代器

	pair>::iterator, bool> Insert_Pair;

	Insert_Pair = map2.insert(map::value_type(001, "student_one"));

	if (!Insert_Pair.second)
		cout << "Error insert new element" << endl;
删除

利用迭代器删除,需要判断是否具备该key,如果没有则会崩溃

	auto iter = map2.find(5);
	if (iter != map2.end())
	{
		map2.erase(iter);
	}

用key值删除数据,如果成功返回1,否则返回0

	int n = map2.erase(1);

用迭代器范围刪除

	map2.erase(map2.begin(), map2.end());

全部清空

	map2.clear();
遍历
void CoutMap(map> map1)
{
	for (auto i = map1.begin(); i != map1.end(); i++)
	{
		std::cout << i->first << "  " << i->second< 
查找 
	auto iter = map2.find(1);
	if (iter != map2.end())
	{

	}
交换
	map> map2 ;
	map> map3;
	map2.swap(map3);
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983196.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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