zoukankan      html  css  js  c++  java
  • 比map更强大的multimap

    #include <iostream>
    #include <string>
    #include <map>
    using namespace std;
    int i;
    int main()
    {multimap <char ,int >m;

    multimap <char ,int >::iterator kan,kan1,it;

      m.insert(pair<char, int>('a', 1));
      m.insert(pair<char, int>('a', 2));
      m.insert(pair<char, int>('a', 3));
    m.insert(pair<char, int>('b', 4));
    m.insert(pair<char, int>('c', 5));

    //multimap::insert()成员函数返回指向新插入元素的迭代指针,也就是 iterator(multimap::insert()总是能执行成功)。但是 map::insert() 返回 pair<iterator, bool>,此处 bool 值表示插入操作是否成功。


      cout<< m.count('a') << endl;//count返回的是数量,而map里面返回的时1或0;


     pair <std::multimap<char,int>::iterator, std::multimap<char,int>::iterator> ret;
        ret = m.equal_range('a');
        for (kan=ret.first; kan!=ret.second; ++kan)
          std::cout << ' ' << kan->second;
        std::cout << ' ';

    kan=m.find('a');//find(k) 返回指向第一个与键 k 匹配的 pair 的迭代指针,这就是说,当你想要检查是否存在至少一个与该键关联的值时,或者只需第一个匹配时,这个函数最有用。
    kan1=m.find('c');
    for(it=kan;it!=kan1;it++)
    cout<<it->second<<" ";

    cout<<endl;
    kan = m.lower_bound ('a');
     kan1 = m.upper_bound ('a');
    for(it=kan;it!=kan1;it++)
    cout<<it->second<<" ";
    // lower_bound() 和 upper_bound():lower_bound(k) 查找第一个与键 k 关联的值,而 upper_bound(k) 是查找第一个键值比 k 大的元素。

    return 0;
    }

  • 相关阅读:
    Python服务器开发三:Socket
    系统性能检测工具之lsof
    系统性能检测工具之iostat
    系统性能检测工具之vmstat
    系统性能检测工具之sar
    系统性能检测工具之ps
    系统性能检测工具之top
    Linux常用命令大全
    授权
    RMAN之REPORT命令
  • 原文地址:https://www.cnblogs.com/lengxia/p/4387824.html
Copyright © 2011-2022 走看看