我有一个图是这样的:更新地图值
map<prmNode,vector<prmEdge>,prmNodeComparator> nodo2archi;
当我有更新的值(矢量),我把钥匙,他的价值,我更新值的向量,我删除旧的键和值,然后我插入密钥和新的矢量。该代码是这样的:
bool prmPlanner::insert_edgemap(int from,int to) {
prmEdge e;
e.setFrom(from);
e.setTo(to);
map<prmNode,vector<prmEdge> >::iterator it;
for (it=nodo2archi.begin(); it!=nodo2archi.end(); it++){
vector<prmEdge> appo;
prmNode n;
n=(*it).first;
int indice=n.getIndex();
if (indice==f || indice==t){
appo.clear();
vector<prmEdge> incArchi;
incArchi=(*it).second;
appo=(incArchi);
appo.push_back(e);
nodo2archi.erase(it);
nodo2archi.insert(make_pair(n,appo));
}
}
return true;
}
的问题是,在第40-50迭代iterations诸事WEEL和地图更新好,同时与更多的迭代它去有时段错误,有时会在一个无限闲置。我不知道为什么。有人可以帮助我吗? 非常感谢。
非常感谢,我用这种方式解决了我的问题!!!!!! Thankssssssss – livio8495 2010-02-03 14:17:00