现在的位置: 首页 > 综合 > 正文

STL—map 和 multimap

2012年12月03日 ⁄ 综合 ⁄ 共 1249字 ⁄ 字号 评论关闭

#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;
}

  

抱歉!评论已关闭.