zoukankan      html  css  js  c++  java
  • c++容器的操作方法总结

    一.map

    1.创建

    typedef map<int,string> descrbe_map_;

    descrbe_map_ devMap;

    或者

    map<string,string> messageIdMap;

    2.增加元素

    方法一:pair
    例:
    map<int, string> mp;
    mp.insert(pair<int,string>(1,"aaaaa"));

    方法二:make_pair
    例:
    map<int, string> mp;
    mp.insert(make_pair<int,string>(2,"bbbbb"));

    方法三:value_type
    例:
    map<int, string> mp;
    mp.insert(map<int, string>::value_type(3,"ccccc"));

    方法四:[]
    例:
    map<int, string> mp;
    mp[4] = "ddddd";

    四种方法异同:
    前三种方法当出现重复键时,编译器会报错,而第四种方法,当键重复时,会覆盖掉之前的键值对。

    3.删除元素

    //迭代器刪除
    iter = mapStudent.find("123");
    mapStudent.erase(iter);

    //用关键字刪除
    int n = mapStudent.erase("123"); //如果刪除了會返回1,否則返回0

    //用迭代器范围刪除 : 把整个map清空
    mapStudent.erase(mapStudent.begin(), mapStudent.end());
    //等同于mapStudent.clear()

    4.查找元素

    // find 返回迭代器指向当前查找元素的位置否则返回map::end()位置
    iter = mapStudent.find("123");

    if(iter != mapStudent.end())
      cout<<"Find, the value is"<<iter->second<<endl;
    else
      cout<<"Do not Find"<<endl;

    或者:

    map<string,string>::iterator p;

    for(p = devmap.begin(); p!=devmap.end();p++)

    {

      if(p->first == 1){

      }else{

      }

    }

    5.map的元素大小

      int nSize = mapStudent.size();

    6.map的基本操作函数:

         C++ maps是一种关联式容器,包含“关键字/值”对

         begin()         返回指向map头部的迭代器

         clear()        删除所有元素

         count()         返回指定元素出现的次数

         empty()         如果map为空则返回true

         end()           返回指向map末尾的迭代器

         equal_range()   返回特殊条目的迭代器对

         erase()         删除一个元素

         find()          查找一个元素

         get_allocator() 返回map的配置器

         insert()        插入元素

         key_comp()      返回比较元素key的函数

         lower_bound()   返回键值>=给定元素的第一个位置

         max_size()      返回可以容纳的最大元素个数

         rbegin()        返回一个指向map尾部的逆向迭代器

         rend()          返回一个指向map头部的逆向迭代器

         size()          返回map中元素的个数

         swap()           交换两个map

         upper_bound()    返回键值>给定元素的第一个位置

         value_comp()     返回比较元素value的函数

    c++11 之emplace_back 与 push_back区别:

    在容器尾部添加一个元素,这个元素原地构造,不需要触发拷贝构造和转移构造。而且调用形式更加简洁,直接根据参数初始化临时对象的成员

  • 相关阅读:
    html04
    html03
    html02
    html01
    通过脚本获取form表单的数值而不是submit
    myeclipse自带的数据库查看文件
    如何实现数组和List之间的转换?
    Array和ArrayList有何区别?
    ArrayList和LinkedList的区别是什么?
    如何决定使用HashMap还是TreeMap?
  • 原文地址:https://www.cnblogs.com/mcy0808/p/11905949.html
Copyright © 2011-2022 走看看