在遍历C++map中删除元素算法(简单例子)

来源:互联网 发布:javascript的写法 编辑:程序博客网 时间:2024/04/29 23:15

#include "stdafx.h"
#include <map>
namespace std;

int main(int argc, char* argv[])
{
 map<int,int>k;
 k[1]=10;
 k[2]=20;
 k[3]=30;
 k[4]=40;
 k[5]=50;
 map<int,int>::iterator iter;
    iter=k.begin();
 for (;iter!=k.end();)
 {
  if (iter->first==3)
  {
   k.erase(iter++);
  }
  else
  {
   iter++;
  }
 }

 for (iter=k.begin();iter!=k.end();iter++)
 {
  printf("%d ",iter->second);
 }

 return 0;
}