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

#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;
}

 

你可能感兴趣的:(C++,算法,iterator,include)