STL---map 和 multimap

简介: #include <iostream> #include <map> #include <string> using namespace std; int main() { multimap<string,string>mulmap; multimap<string,string>::iterator

#include <iostream> #include <map> #include <string> using namespace std; int main() { multimap<string,string>mulmap; multimap<string,string>::iterator p; typedef multimap<string,string>::value_type vt; typedef string s; mulmap.insert(vt(s("Tom "),s("is a student"))); mulmap.insert(vt(s("Tom "),s("is a boy"))); mulmap.insert(vt(s("Tom "),s("is a bad boy of blue!"))); mulmap.insert(vt(s("Jerry"),s(" is a student"))); mulmap.insert(vt(s("Jerry "),s("is a beatutiful girl"))); mulmap.insert(vt(s("DJ "),s("is a student"))); //输出初始化以后的多重映射mulmap: for(p=mulmap.begin();p!=mulmap.end();++p) cout<<(*p).first<<(*p).second<<endl; //检索并输出Jerry键所对应的所有的值 cout<<"find Jerry :"<<endl; p=mulmap.find(s("Jerry ")); while((*p).first=="Jerry ") { cout<<(*p).first<<(*p).second<<endl; ++p; } return 0; }

  

#include <iostream>
#include <map>
using namespace std;
int main()
{
    map<char,int> map1;
    map<char,int>::iterator mapIter;
    //char 是键的类型,int是值的类型
    //下面是初始化,与数组类似
    //也可以用map1.insert(map<char,int,less<char> >::value_type(''c'',3));
    map1['c']=3;
    map1['z']=4;
    map1['a']=1;
    map1['k']=2;
    for(mapIter=map1.begin();mapIter!=map1.end();++mapIter)
        cout<<" "<<(*mapIter).first<<": "<<(*mapIter).second;
    //first对应定义中的char键,second对应定义中的int值
    //检索对应于d键的值是这样做的:
    map<char,int>::iterator ptr;
    ptr=map1.find('k');
    cout<<'\n'<<" "<<(*ptr).first<<" 键对应于值:"<<(*ptr).second;
    return 0;
}

  

目录
相关文章
|
存储 C++
【C++】map/multimap/set/multiset的经典oj例题 [ 盘点&全面解析 ] (28)
【C++】map/multimap/set/multiset的经典oj例题 [ 盘点&全面解析 ] (28)
|
存储 C++ 容器
map、set、multimap和multiset的使用【STL】
map、set、multimap和multiset的使用【STL】
65 0
|
3月前
|
存储 算法 C++
【c++丨STL】map/multimap的使用
本文详细介绍了STL关联式容器中的`map`和`multimap`的使用方法。`map`基于红黑树实现,内部元素按键自动升序排列,存储键值对,支持通过键访问或修改值;而`multimap`允许存在重复键。文章从构造函数、迭代器、容量接口、元素访问接口、增删操作到其他操作接口全面解析了`map`的功能,并通过实例演示了如何用`map`统计字符串数组中各元素的出现次数。最后对比了`map`与`set`的区别,强调了`map`在处理键值关系时的优势。
208 73
|
17天前
|
存储 编译器 容器
set、map、multiset、multimap的介绍及使用以及区别,注意事项
set是按照一定次序存储元素的容器,使用set的迭代器遍历set中的元素,可以得到有序序列。set当中存储元素的value都是唯一的,不可以重复,因此可以使用set进行去重。set默认是升序的,但是其内部默认不是按照大于比较,而是按照小于比较。set中的元素不能被修改,因为set在底层是用二叉搜索树来实现的,若是对二叉搜索树当中某个结点的值进行了修改,那么这棵树将不再是二叉搜索树。
|
12月前
|
存储 自然语言处理 C++
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
90 0
【C++航海王:追寻罗杰的编程之路】set|map|multiset|multimap简单介绍
|
存储 C语言 容器
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(下)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
85 1
|
存储 C语言 容器
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(中)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
84 1
|
存储 自然语言处理 C语言
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别(上)
从C语言到C++_26(set+map+multiset+multimap)力扣692+349+牛客_单词识别
112 1
|
11月前
|
存储 C++ 索引
C++基础知识(八:STL标准库 Map和multimap )
C++ 标准模板库(STL)中的 map 容器是一种非常有用的关联容器,用于存储键值对(key-value pairs)。在 map 中,每个元素都由一个键和一个值组成,其中键是唯一的,而值则可以重复。
151 0
|
12月前
|
C++ 容器
C++之map/multimap容器
C++之map/multimap容器