我有一個圖是這樣的:更新地圖值
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