zoukankan      html  css  js  c++  java
  • STL笔记之【map之移除元素】

    //---------------------------------------------------------
    // 移除map中满足条件的元素
    //---------------------------------------------------------
    // 1.创建map
    map<int, string> mapTest;
    mapTest.insert(map<int, string>::value_type(0, "0"));
    mapTest.insert(map<int, string>::value_type(1, "1"));
    mapTest.insert(map<int, string>::value_type(2, "2"));
    
    // 2.移除满足条件的元素
    map<int, string>::iterator iter = mapTest.begin();
    for (; iter != mapTest.end(); )
    {
     if (iter->second == "1")
     {
      mapTest.erase(iter++);
     }
     else
     {
      ++iter;
     }
    }
    
    // 3.总结
    map.erase(pos)是不返回pos的下一个迭代器的
    注意if中的mapTest.erase(iter++);
        而不是++iter
     
    //---------------------------------------------------------
    // 移除map中key为某一值的元素
    //---------------------------------------------------------
    mapTest.erase(keyValue);
    如果mapTest为multimap,则会删除key==keyValue的所有元素
    如果在multimap中只想移除第一个key==keyValue的元素
    则代码应当如此
    pos = mapTest.find(keyValue);
    if (pos != mapTest.end())
    {
     mapTest.erase(pos);
    }
  • 相关阅读:
    Express 框架中 使用ejs
    Nodejs操作MongoDB数据库
    MongoDB基础操作
    node中的包、npm和模块
    background
    animation
    transition
    transform
    【SpringCloud】各种组件的更新情况
    【SpringCloud】版本选择
  • 原文地址:https://www.cnblogs.com/zendu/p/4981522.html
Copyright © 2011-2022 走看看