先普及一下基础知识
一下这些作为基本的有序容器,则他们在插入时已经进行了排序,
学习过程:定义-属性-修改-基本操作- 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;
属性
修改:增、删、改、查
基本操作:查找、交换、排序等