C++_STL—容器Map篇

廣海_小瘋瘋丶發表於2018-01-11

C++_STL—容器Map篇

C++中map容器提供一個鍵值對(key/value)容器,map與multimap差別僅僅在於multiple允許一個鍵對應多個值。需要包含標頭檔案map。對於迭代器來說,可以修改實值,而不能修改key。Map會根據key自動排序。

容器的使用

標頭檔案引用:

#include <map>
using namespace std;

Map的定義和初始化

map<int,string> map1;                  //空map

常用的操作方法

    map1[3] = "Saniya";                    //新增元素

    map1.insert(map<int,string>::value_type(2,"Diyabi"));//插入元素

    //map1.insert(pair<int,string>(1,"Siqinsini"));

    map1.insert(make_pair<int,string>(4,"V5"));

    string str = map1[3];                  //根據key取得value,key不能修改

    map<int,string>::iterator iter_map = map1.begin();//取得迭代器首地址

    int key = iter_map->first;             //取得key

    string value = iter_map->second;       //取得value

    map1.erase(iter_map);                  //刪除迭代器資料

    map1.erase(3);                         //根據key刪除value

    map1.size();                       //元素個數

    map1.empty();                       //判斷空

    map1.clear();                      //清空所有元素

遍歷

只有迭代器法

  for(map<int,string>::iterator iter = map1.begin();iter!=map1.end();iter++)
    {
       int keyk = iter->first;
       string valuev = iter->second;
    }

相關文章