我这两块代码都是差不多的,但是我的k=3的时候a.size()没有减1反而加1了?这是为什么啊?
我的a是map<int,int>
case 2:
if(!a.empty())
{
int kkk=mm;
while(a[kkk]==0)
kkk--;
cout<<a[kkk]<<endl;
a.erase(kkk);
cout<<a.size()<<endl;
}
else
cout<<0<<endl;
break;
case 3:
if(!a.empty())
{
int kkk=1;
while(a[kkk]==0&&kkk<=mm)
kkk++;
cout<<a[kkk]<<endl;
a.erase(kkk);
cout<<a.size()<<endl;
}
else
cout<<0<<endl;
break;