STL——map介绍

先普及一下基础知识

一下这些作为基本的有序容器,则他们在插入时已经进行了排序,

学习过程:定义-属性-修改-基本操作- multimap

参考博客:https://blog.csdn.net/ChaoFeiLi/article/details/103146840

定义

map:底层是红黑树(平衡排序二叉树)实现插入时有序。使用键值对(key-value)保存。高效查找。

为了实现快速查找,map内部本身就是按序存储的(比如红黑树)。在我们插入<key, value>键值对时,就会按照key的大小顺序进行存储。这也是作为key的类型必须能够进行<运算比较的原因。

构造函数:

函数insert(),插入一个键值对

 

void fun(pair<int,char> pr){
	cout<<pr.first<<pr.second<<endl;
}
	typedef pair<int,char> in_pair;//typedef使用之后,更加简洁
	map<int,char> map1;
	map1.insert(pair<int,char>(1,'a'));
	map1.insert(in_pair(2,'b'));
        for_each(map1.begin(),map1.end(),fun);

pair <iterator, bool> insert( const TYPE &val );其中insert()函数的返回值类型是pair <iterator, bool>,其中返回值里面是一个map类型的迭代器和一个bool的值

    pair<map<int,char>::iterator,bool> pr;
    pr = map1.insert(in_pair(2,'b'));
    cout<<pr.second<<".............."<<( *pr.first).first<< (*pr.first).second<<endl;

属性

 修改:增、删、改、查

基本操作:查找、交换、排序等

 

 multimap

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页