【C++新手】map使用入门版(代码讲解)

这篇博客是作者的个人学习笔记,主要介绍了C++中的map容器。内容包括map的基本用法,通过详细的代码示例进行讲解,并提示读者可运行代码观察调试结果。博主鼓励读者提问,但期望保持友善的讨论氛围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只是一个蒟蒻

只是自己的笔记,传一下防丢,当云盘了。
tips:如果有人看的话,一定不要因为那么长的变量名而看不下去,真的只是名字长,没有别的,细心看的话一定能看明白。代码可以运行,边看代码边看调试结果。另外建议放到编译器里去看更方便。

#include <bits/stdc++.h>
using namespace std;
/*
map容器是一种关联型容器,能将两种不同(或相同)的变量绑定在一起,分别为key,value。 
map容器内部由一颗红黑树实现,由于红黑树的高效性,使得map容器中很多的函数都能以log时间
度实现,非常高效。 
由于map的实现方式是维护红黑树,所以map的空节点在不存储的时候也会占用空间,每个空间16字节。 
小声吐槽:这玩意好像出现问题要不然报几百个错要不然不会报错直接运行但没结果结束,好烦... 
本段代码并非伪代码,为真实代码,可以运行,运行结果为不同函数应用结果,无标记需要一一对应。 
代码已经经过调试可用,不同区域的不同演示map已经通过不同名称标出方便查看。
编写环境Dev-C++ 5.11。 
*/
int main(){
   

	/*构建*/
	map<int,string> m;//构建map容器(六种方法之一)。 
	
	
	/*插入*/
		/*insert插入方法(之一)*/
	m.insert(pair<int,string>(1,"student1")); 
	m.insert(pair<int,string>(2,"student2"));
	m.insert(pair<int,string>(3,"student3"));//12-14:插入。 
//	pair<variable_type_a,variable_type_b>表示此处变量类型为ab关联型。 
//  pair<variable_type_a,variable_type_b>(variable_a,variable_b)表示两个关联变量 。 
//	!!注意 当容器中有这个关键字时,该插入方法会失败 注意!!。 
	map<int,string>::iterator iter;//设置一个map指针,类型为int-string。 
	for(iter = m.begin();iter!=m.end();iter++)
//	map_name.begin()返回容器开头指针,map_name.end()返回容器结尾指针 。 
	{
   
		cout<<iter->first<<" "<<iter->second<<endl;
//		iterator_name->first表示key内容,iterator_name->second表示value内容。 
	}
//	当不确定插入是否成功时,可以使用pair函数进行判断。 
	pair<map<int,string>::iterator,bool> insert_bool;
//	定义一个pair<map<vairbale_type_a,vairbale_type_b>,bool> iterator_name存储插入结果。 
	insert_bool = m.insert(pair<int,string>(1,"student1000"));//插入一个已经含有的关键字 。 
	if(insert_bool.second == true)
		cout<<"insert was successfully"<<endl;
	else
		cout<<"insert was failure"<<endl; //验证结果,可插入为true,不可插入为false。 
	cout<<endl;
	
		/*数组类型插入*/
	m[4] = "student4";
	m[5] = "student5";
	m[6] = "student6";
//	map重构了数组的中括号,所以括号内填写key类型变量,以key为下标的元素中存储value。 
	for(iter = m.begin();iter != m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值