• C++ 学习小程序之 map 的用法


    1. map::at

     1 #include <iostream>
     2 #include <string>
     3 #include <map>
     4 using namespace std;
     5 
     6 int main(){
     7     map<string, int> mymap = {
     8         {"alpha", 0},
     9         {"beta", 0},
    10         {"gamma", 0}};
    11 
    12     mymap.at("alpha") = 10;
    13     mymap.at("beta") = 20;
    14     mymap.at("gamma") = 30;
    15 
    16     for (auto& x:mymap){
    17         cout<<x.first<<": "<<x.second<<'
    ';
    18     }
    19 
    20     return 0;
    21 }

    2. make_pair example

     1 // make_pair example
     2 #include <utility>      // std::pair
     3 #include <iostream>     // std::cout
     4 
     5 int main () {
     6   std::pair <int,int> foo;
     7   std::pair <int,int> bar;
     8 
     9   foo = std::make_pair (10,20);
    10   bar = std::make_pair (10.5,'A'); // ok: implicit conversion from pair<double,char>
    11 
    12   std::cout << "foo: " << foo.first << ", " << foo.second << '
    ';
    13   std::cout << "bar: " << bar.first << ", " << bar.second << '
    ';
    14 
    15   return 0;
    16 }

    3. map::begin/end

     1 // map::begin/end
     2 #include <iostream>
     3 #include <map>
     4 
     5 int main ()
     6 {
     7   std::map<char,int> mymap;
     8 
     9   mymap['b'] = 100;
    10   mymap['a'] = 200;
    11   mymap['c'] = 300;
    12 
    13   // show content:
    14   for (std::map<char,int>::iterator it=mymap.begin(); it!=mymap.end(); ++it)
    15     std::cout << it->first << " => " << it->second << '
    ';
    16 
    17   return 0;
    18 }

    4.   map::insert(C++98)

     1 // map::insert(C++98)
     2 #include <iostream>
     3 #include <map>
     4 using namespace std;
     5 int main ()
     6 {
     7     map<char,int> mymap;
     8 
     9     // first insert function version (single parameter):
    10     mymap.insert ( pair<char,int>('a', 100) );
    11     mymap.insert ( pair<char,int>('z', 200) );
    12 
    13     pair<map<char, int>::iterator, bool> ret;
    14     ret = mymap.insert (pair<char,int>('z',500));
    15     if (ret.second == false){
    16         cout<<"element 'z' already existed";
    17         cout<<"with a value of " << ret.first->second << '
    ';
    18     }
    19 
    20     //second insert function version (with hint position):
    21     map<char, int>::iterator it = mymap.begin();
    22     mymap.insert (it, pair<char, int>('b',300)); // max efficiency inserting
    23     mymap.insert (it, pair<char, int>('c',400)); // no max efficiency inserting
    24 
    25     //third insert function version (range insertion):
    26     map<char,int> anothermap;
    27     anothermap.insert(mymap.begin(),mymap.find('c'));
    28 
    29     // showing contents:
    30     cout<<"mymap contains: 
    ";
    31     for (it = mymap.begin(); it!= mymap.end(); ++it)
    32         cout<<it->first<<"=>"<<it->second<<'
    ';
    33 
    34     cout<<"anothermap contains: 
    ";
    35     for(it=anothermap.begin(); it!=anothermap.end();++it)
    36         cout<<it->first<<"=>"<<it->second<<'
    ';
    37 
    38     return 0;
    39 }
  • 相关阅读:
    ES6/5比较
    Javascript中的var和let
    git中remotes/origin/HEAD指向的分支丢失
    js实用篇之数组、字符串常用方法
    JS设计模式一:单例模式
    Linux C 面试题总结 .
    深入理解javascript原型和闭包(15)——闭包
    一些有意思的面试题(持续更新) .C语言编程技巧札记
    一个三流大学生的北京三年 .
    C 字节对齐.我的算法学习之路
  • 原文地址:https://www.cnblogs.com/wangxiaocvpr/p/4942930.html
Copyright © 2020-2023  润新知