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;

     

  • 相关阅读:
    (九)排序——选择
    (八)排序——冒泡
    (七)排序算法
    (六)递归
    (五)栈
    (三)队列
    (二)稀疏数组
    Nessus号称是世界上最流行的漏洞扫描程序
    meterpreter ???
    IIS网站权限设置原则
  • 原文地址:https://www.cnblogs.com/xiaoka/p/2102461.html
Copyright © 2011-2022 走看看