zoukankan      html  css  js  c++  java
  • 【C++ 学习笔记】:STLmap

    查找

    map<int,int> map_test;
    map_test.insert(pair
    <int,int>(1,2));
    map_test.insert(pair
    <int,int>(1,3));
    map_test.insert(pair
    <int,int>(2,2));

    int a = map_test[1];
    int b = map_test[3];

    map
    <int,int>::iterator p = map_test.find(4);

    if(p == map_test.end())
    b
    =0;

    int length = map_test.size();

    map中插入的是键值对,查找一个map可以有两种方法,一种可以用重载的符号[]通过键来找,但是如果那个键值map里没有就会加一个新的键在里面,值就用默认的,如int型的就用0:

    int b = map_test[3];


    结果:map_test
    ={[1,2][2,2][3,0]}

    另一种方法是通过方法find()通过键来寻找,这样就不会有上面的困扰:

    map<int,int>::iterator p = map_test.find(4);

    返回的是一个迭代器,要判断是否存在只需要判断返回的迭代器是否指向map的尾巴

    if(p == map_test.end())
    b
    =0;

     

    修改重复键值

    与java的util中的容器不同,C++修改值只需要直接赋值即可。修改可以有两种方法: (!注意: 直接用插入相同键值的方法是不能修改值的

    map<int,int> map_test;
    map_test.insert(pair<int,int>(1,1));
    
    //方法1
    map_test[1] = 2;
    
    //方法2,使用游标
    map<int,int>::iterator iter = map_test.find(1);
    iter->second = 3;

     

  • 相关阅读:
    [JavaScript] cookie和storage
    react-interview-02
    简单实现一个Vue
    js获取当前页面url
    鸽巢原理
    20210412-1 原型设计作业
    案例分析作业
    软件工程的202103226-1编程作业
    阅读反馈
    软件工程第一课
  • 原文地址:https://www.cnblogs.com/xiaoka/p/2102461.html
Copyright © 2011-2022 走看看