c++ map容器 赋值及构造 判断大小 及长度详解 代码示例

关注小韩 轻松编程 一起由浅入深
解析都在代码里 废话不多说 上菜!!!

#include<iostream>
#include<map>
using namespace std;

/*
简介:
	map中 所有元素都是pair
	pair中 第一个元素为key(键值) 用于索引   第二个元素value(实值)
	所有元素都会根据键值自动排序
本质:
	 map /mulmap底层都是二叉树
优点:
	可根据key值快速找到value值

	 map不允许容器中出现相同的值 
	 mulmap中允许出现重复的值2
map大小和交换:
     .size()   //返回容器中元素的数目
     .empty()   //判断容器是否为空
     .swap(st)     //交换两个容器
插入和删除:
	insert(elem)  //容器中插入元素  inseert(pair<int,int>			     ( , ));
 	clear()    //清除所有元素
	erase(pos)    //删除pos迭代器所指的元素 返回下一个迭   代器位置
	erase(key)   删除键值为key的元素
	
     
    
*/


void printmap(const map<int, int>& m)
{

	for (map<int,int>::const_iterator it = m.begin(); it != m.end(); it++)
		cout << "key= " << (*it).first << "   value= " << it->second << endl;
		cout << endl;
}

void test()
{
	map<int, int> m;    //容器内至的值会按照键值自动升序排序

	m.insert(pair<int, int>(1, 10));  //insert方式插入     由于每个元素都是对组 所以要插入对组  创建匿名对组  把其值插入到容器中
	m.insert(pair<int, int>(4, 20));   //pair<int,int>方式插入
	m.insert(make_pair(3,30));    //make_pair方式插入
	m.insert(pair<int, int>(2, 40));
	m[5]=50;                 //下标方式插入  m[key]=val  这种方式亦可访问  但易出错  注意!!!

	printmap(m);   //打印输出容器内元素

	map<int, int>m1(m);   //拷贝构造赋值
	printmap(m);

	map<int, int>m2;     //赋值构造
	m2 = m1;
	printmap(m);
}

using namespace std;
int main()
{
	test();
	return 0;
}

码字不易 有帮助记得点赞哦
有疑问欢迎评论区留言!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值