zoukankan      html  css  js  c++  java
  • multimap多重映照容器(常用的方法总结)

    multimap和map的不同之处在于前者允许重复键值的元素出现。

     1 /*关于C++STL中mulitmap的学习,与map不同的是,multimap允许插入重复键值的元素*/
     2 #include <map>
     3 #include <string>
     4 #include <iostream> 
     5 using namespace std;
     6 
     7 void print(multimap<string,double> m);
     8 
     9 int main()
    10 {
    11     //创建multimap对象,当前没有元素 
    12     multimap<string,double> m;
    13     
    14     //插入元素 
    15     m.insert(pair<string,double>("Jack",300.5));//其中pair是一种模板类,表示一种元素对 
    16     m.insert(pair<string,double>("Kity",200));
    17     m.insert(pair<string,double>("Memi",500));    
    18     
    19     //插入重复元素
    20     m.insert(pair<string,double>("Jack",300.5));
    21     
    22     print(m);
    23          
    24     //删除单个多余元素
    25     m.erase("Jack"); 
    26     cout<<"删除键值为Jack的元素
    ";
    27     print(m);
    28     
    29     /*查找元素,由于存在重复的键值,所以find()方法只返回重复键值中的第一个元素的迭代器的位置,如果没有则
    30     返回end()迭代器的位置*/ 
    31     if(m.find("Jack") == m.end())    cout<<"没有找到键值为Jack的元素
    ";
    32     if(m.find("Memi") != m.end())     cout<<"找到键值为Memi的元素
    ";
    33     
    34     return 0;
    35 }
    36 
    37 void print(multimap<string,double> m)
    38 {
    39     //使用前向迭代器遍历多重映照容器
    40     multimap<string,double>::iterator it;
    41     for(it=m.begin(); it != m.end(); it++){
    42         cout<<(*it).first<<":"<<(*it).second<<endl;
    43     }
    44 }
  • 相关阅读:
    Linux定制化RPM包
    01-if条件语句之数字比较
    01-爬虫介绍
    Django的路由系统01-路由分发
    Nginx+tomcat+redis集群共享session实现负载均衡
    CAS单点登录原理
    红黑树
    B+树
    Mysql索引介绍
    B树(B-树)
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/8529974.html
Copyright © 2011-2022 走看看