2025年stlmap详解(stl map set)

stlmap详解(stl map set)map lt int string gt mapA pair lt map lt int string gt iterator bool gt pairResult mapA insert pair lt int string gt 3 小张 插入方式一 int

大家好,我是讯享网,很高兴认识大家。



map<int, string> mapA;



•  pair< map<int,string>::iterator, bool > pairResult = mapA.insert(pair<int,string>(3,“小张”));   //插入方式一



•  int iFirstFirst = (pairResult.first)->first;  //iFirst == 3;

•  string strFirstSecond = (pairResult.first)->second; //strFirstSecond为“小张”

•  bool bSecond = pairResult.second;   //bSecond == true;

•  

•  mapA.insert(map<int,string>::value_type(1,“小李”));  //插入方式二



•  mapA[3] = “小刘”;   //修改value

•  mapA[5] = “小王”;   //插入方式三



•  string str1 = mapA[2]; //执行插入 string() 操作,返回的str1的字符串内容为空。

•  string str2 = mapA[3];   //取得value,str2为“小刘”


//迭代器遍历

•  for (map<int,string>::iterator it=mapA.begin(); it!=mapA.end(); ++it)

•  {

•   pair<int, string> pr = *it;

•   int iKey = pr.first;

•   string strValue = pr.second;

•  }

map.rbegin()与map.rend()  略。

 map<int, string> mapA;

•  mapA.insert(pair<int,string>(3,“小张”));

•  mapA.insert(pair<int,string>(1,“小杨”));

•  mapA.insert(pair<int,string>(7,“小赵”));

•  mapA.insert(pair<int,string>(5,“小王”));



•  map<int ,string> mapB(mapA);   //拷贝构造

•  

•  map<int, string> mapC;

•  mapC = mapA;        //赋值



•  mapC[3] = “老张”;

•  mapC.swap(mapA);   //交换


讯享网

 map<int, string> mapA;

•  mapA.insert(pair<int,string>(3,“小张”));

•  mapA.insert(pair<int,string>(1,“小杨”));

•  mapA.insert(pair<int,string>(7,“小赵”));

•  mapA.insert(pair<int,string>(5,“小王”));



•  if (mapA.empty())

•  {

•   int iSize = mapA.size();  //iSize == 4

•  }

map<int, string> mapA;

•  mapA.insert(pair<int,string>(3,“小张”));

•  mapA.insert(pair<int,string>(1,“小杨”));

•  mapA.insert(pair<int,string>(7,“小赵”));

•  mapA.insert(pair<int,string>(5,“小王”));


•  //删除区间内的元素

•  map<int,string>::iterator itBegin=mapA.begin();

•  ++ itBegin;

•  ++ itBegin;

•  map<int,string>::iterator itEnd=mapA.end();

•  mapA.erase(itBegin,itEnd);   //此时容器mapA包含按顺序的{1,“小杨”}{3,“小张”}两个元素。



•  mapA.insert(pair<int,string>(7,“小赵”));

•  mapA.insert(pair<int,string>(5,“小王”));



•  //删除容器中第一个元素

•  mapA.erase(mapA.begin());  //此时容器mapA包含了按顺序的{3,“小张”}{5,“小王”}{7,“小赵”}三个元素

  //删除容器中key为5的元素

•  mapA.erase(5);  

  //删除mapA的所有元素

•  mapA.clear();   //容器为空

map<int, string> mapA;

•  mapA.insert(pair<int,string>(3,“小张”));

•  mapA.insert(pair<int,string>(1,“小杨”));

•  mapA.insert(pair<int,string>(7,“小赵”));

•  mapA.insert(pair<int,string>(5,“小王”));



•  //find方法

•  map<int, string>::iterator it1 = mapA.find(5);  //it1指向{5,“小王”}元素



•  int iCount = mapA.count(5);   //iCount == 1



•  //lower_bound方法

•  map<int, string>::iterator it2 = mapA.lower_bound(5);  //it2指向{5,“小王”}元素



•  //upper_bound方法

•  map<int, string>::iterator it3 = mapA.upper_bound(5);  //it3指向{7,“小赵”}元素



•  //equal_range方法

•  pair< map<int,string>::iterator, map<int,string>::iterator > pr = mapA.equal_range(5);



•  map<int, string>::iterator it4 = pr.first;   //it4指向{5,“小王”}元素

•  map<int, string>::iterator it5 = pr.second;  //it5指向{7,“小赵”}元素

小讯
上一篇 2025-05-08 23:55
下一篇 2025-06-05 19:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/169926.html