这是代码
next = friendchain.begin()->first;
while(true) {
start = next;
next = friendchain[next];
if(next!=0) {
friendchain.erase(start);
groupcount++;
size = friendchain.size();
printf("size=%i\n", size);
//size = 0
}
if (next==0) {
size = friendchain.size();
printf("size=%i\n", size);
//size = 1!!!
if (friendchain.empty())
{
break;
//should go out of the loop here
} else {
next = friendchain.begin()->first;
// next has value of 3
}
}
}
我的朋友链地图的内容是:
1 -> 2 和
2 -> 3
我不明白为什么 else 部分被执行。
如果您需要更多代码,请告诉我。
问候