c++笔记 STL map容器赋值和构造

本文介绍了C++标准库中的map和multimap容器,它们是关联式容器,底层基于二叉树实现。map不允许重复键值,而multimap则允许。示例展示了如何插入元素、打印元素以及进行拷贝构造和赋值操作。map容器的优势在于能快速通过键值查找对应的值,并自动排序键值。
摘要由CSDN通过智能技术生成
//map容器中所有元素都是pair
//pair的第一个元素为key(赋值),起到索引作用,第二个元素为value(实值)
//所有元素都会根据元素的键值自动排序
//本质:map/multimap属于关联式容器,底层结构使用二叉树实现
//优点:
//可以根据key值快速找到value值
//map与multimap区别:
//map不允许容器中有重复key
//multimap允许容器中有重复key值元素
#include<iostream>
#include<map>
using namespace std;
void printMap(const map<int,int>& m) {
	for (map<int,int>::const_iterator it = m.begin(); it != m.end(); it++) {
		//这里获取不可以单纯*it,因为有两个值
		cout << "key = " << (*it).first << "value = " << it->second << endl;
	}
	cout << endl;
}
void test01() {
	map<int,int>m;
	m.insert(pair<int, int>(1, 10));
	m.insert(pair<int, int>(2, 20));
	m.insert(pair<int, int>(4, 30));
	m.insert(pair<int, int>(3, 40));
	//会按key值自动排序
	printMap(m);

	//拷贝构造
	map<int,int>m2(m);
	printMap(m2);

	//赋值
	map<int,int>m3;
	m3 = m2;
	printMap(m3);
}
int main() {
	test01();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值