关注小韩 轻松编程 一起由浅入深
解析都在代码里 废话不多说 上菜!!!
#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;
}
码字不易 有帮助记得点赞哦
有疑问欢迎评论区留言!!!