zoukankan      html  css  js  c++  java
  • multiMap遍历方法

     1 /*
     2     multimap中的三种遍历方法
     3     multimap中如果没有查找到相应元素,则返回的迭代器是依据该元素的排列顺序该键应该插入的位置
     4     如果找不到,则方法一和方法二返回的两个迭代器应该相等
     5 */
     6 #include <iostream>
     7 #include <map>
     8 #include <string>
     9 #include <utility>
    10 
    11 using namespace std;
    12 
    13 int main()
    14 {
    15     multimap<string, string> mulMap;
    16     mulMap.insert(make_pair("鲁迅", "朝花夕拾"));
    17     mulMap.insert(make_pair("鲁迅", "阿Q正传"));
    18     mulMap.insert(make_pair("鲁迅", "野草"));
    19     mulMap.insert(make_pair("罗贯中", "三国演义"));
    20     mulMap.insert(make_pair("罗贯中", "隋唐志传"));
    21     mulMap.insert(make_pair("琼瑶", "还珠格格"));
    22     mulMap.insert(make_pair("琼瑶", "情深深雨蒙蒙"));
    23     typedef multimap<string, string>::iterator multiMapItor;
    24     //方法一:推荐
    25     
    26     string author("鲁迅");
    27     cout << author << "的书籍有:" << endl;
    28     pair<multiMapItor, multiMapItor> pos = mulMap.equal_range(author);
    29     while(pos.first != pos.second)
    30     {
    31         cout << pos.first->second << endl;
    32         ++pos.first;
    33     }
    34     cout << endl;
    35     //方法二:
    36     author.assign("罗贯中");
    37     cout << author << "的书籍有:" << endl;
    38     multiMapItor beg = mulMap.lower_bound(author);
    39     multiMapItor end = mulMap.upper_bound(author);
    40     while(beg != end)
    41     {
    42         cout << beg->second << endl;
    43         ++beg;
    44     }
    45     cout << endl;
    46     //方法三:不推荐
    47     author.assign("琼瑶");
    48     cout << author << "的书籍有:" << endl;
    49     typedef multimap<string, string>::size_type sz_type;
    50     sz_type entries = mulMap.count(author);
    51     multiMapItor itor = mulMap.find(author);
    52     for(sz_type cnt = 0; cnt != entries; ++cnt)
    53         cout << (itor++)->second << endl;
    54 
    55     system("pause");
    56     return 0;
    57 }
  • 相关阅读:
    java web报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    在cmd下执行mvn help:system 报错
    win10安装mysql5.7
    centos7装单机hadoop2.7.3
    win10装jdk
    oracle中批量修改年份和月份,但不修改时分秒
    Python 正则匹配网页内的IP地址及端口号
    python 爬取网页内的代理服务器列表(需调整优化)
    python 爬取百度url
    Python 爬取SeeBug poc
  • 原文地址:https://www.cnblogs.com/dongsheng/p/3311594.html
Copyright © 2011-2022 走看看