簡體   English   中英

遞歸搜索n叉樹中的元素

[英]Search for an element in a n-ary tree recursively

我有一棵樹class,它有一個嵌套的私有節點class。
我編寫了一個方法 ( Search(T elem) ),它搜索作為參數給出的元素是否存在於樹中並發送 boolean。
但是我的問題是,如果元素存在於我的樹的第一個分支中,則此方法僅發送 true,如果不存在,則發送 false。 我一定在遞歸調用的某個地方弄錯了。

例如,在 main 中,我調用search('C')並且我得到了錯誤,盡管我應該得到正確的結果,因為 C 在我的樹的第二個分支中。
PS:我還應該提到,在這個 class 中,必須禁用復制運算符和構造函數,除了原始指針(無向量或智能指針)之外我不能使用任何東西。
提前謝謝你。

你不應該返回children[i]->search(elem); 直接地。 因此,如果在第一個分支中找不到elem ,它將返回false ,它永遠不會超過第一個孩子。 只有找到時直接返回那里。 否則嘗試其他孩子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM