0
我正在使用樹分解,我正在嘗試在樹節點中查找頂點。遍歷在節點中查找頂點並返回索引
我想要返回該節點的索引如果找到頂點。我試圖以DFS方式遍歷樹。我能夠遍歷所有的節點,但是一旦發現有頂點的節點沒有返回索引。
以下是我的嘗試。有人能指出我哪裏錯了嗎?如果發現
Node* Tree::traversing(Node* node, int v) {
vector<Node*> s;
s.push_back(node);
while(!s.empty()) {
Node* nn = s.back();
s.pop_back();
int i = nn->point_in_bag(v);
if(i != -1) { return nn;}
for(int i=0; i<node->children.size(); i++) {
Node* n = node->children[i];
s.push_back(n);
}
}
}
功能point_in_bag
返回正整數,如果-1
頂點沒有找到。
因爲遍歷整個樹時,當前節點總是變化,所以你不僅可以使用持久指針節點來獲取當前節點的子節點。 – YXHJ513 2013-03-12 11:40:18
感謝兄弟..現在我明白了。它的工作... – user322 2013-03-12 12:33:57