c++map容器插入和删除

函数原型:
insert(elem); //在容器中插入元素。
clear(); //清除所有元素
erase(pos); //删除pos迭代器所指的元素,返回下一个元素的迭代器。
erase(beg, end); //删除区间[beg,end)的所有元素 ,返回下一个元素的迭代器。
erase(key); //删除容器中值为key的元素。

插入删除和set一样,迭代器类型也和set一样,都是双向迭代器,因此也没有[]和+=的操作,也没有固定位置插入,因为会自动排序,在任何位置插入都是相同的

  map<int,int> m1;//插入数据的4种方式
  m1.insert(pair<int,int>(1,10));
  m1.insert(make_pair(5,50));//好处就是可以省去模板参数,如果参数不对,会自动报错
  m1.insert(map<int,int>::value_type(6,60));
  m1[7] = 70;//直接输入数值
  cout << m1[5] <<endl;
  cout << m1[8] <<endl;//中括号有个问题,如果没有这个key的实际数,他会自动的创建一个值为0的实际数
  //所以map中[]不建议插入数据,但是可以方便进行访问,如果能够确定key存在,就很方便的进行访问
  printmap(m1);
  m1.erase(5);//注意,这里删掉的是key的数,不是value的数
  printmap(m1);
  m1.erase(70);//如果试图删掉value的数,那实际上是没用的
  printmap(m1);
50
0
10 50 60 70 0
10 60 70 0
10 60 70 0
posted @   纸包鱼  阅读(1349)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
点击右上角即可分享
微信分享提示