map删除元素

  • Post author:
  • Post category:其他


1. 删除指定的key

map<int,int> ::iterator iter = m.find(1);
m.erase(iter);

上述例子的map是任意给定的,我们指定删除map<int,int> m中 键值为1的数据

测试结果m的size减一

上完整测试代码

#include

#include


using namespace std;

int main(){


map<int,int> m;

m[1] = 11;

m[22] = 22;

map<int,int> ::iterator iter = m.find(1);

cout<<m.size()<<endl;

if(iter!=m.end())

m.erase(iter);

if(m.find(1)==m.end())

cout<<“删除”<<endl;

else

cout<<“未删除”<<endl;

cout<<m.size()<<endl;

for(iter = m.begin();iter!=m.end();iter++)

cout<first;

}

2. 循环删除

我们在遍历 的时候,可能需要判断条件,然后将满足条件的删除,那么我们同样这么处理

#include<iostream>
#include<map>
using namespace std;
int main(){
   map<int,int> m;
    m[1] = 11;
    m[2] = 22;
    map<int,int>::iterator iter;
    for(iter = m.begin(); iter!=m.end();iter++){
        if(iter->first==1)
            m.erase(iter);
    }
    for(iter = m.begin(); iter!=m.end();iter++)
        cout<<iter->first<<endl;

}



版权声明:本文为m0_67402564原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。