看板 Programming 關於我們 聯絡資訊
※ 引述《ntouckcm (知足常樂)》之銘言: : node* tree::find(node *p,element key) : { : if(p!=0) : { : if(p->left!=0&&p->right!=0) : find(p->left, key); : if(strcmp(p->data,key)==0) : { return p; } : if(p->left!=0&&p->right!=0) : find(p->right, key); : } : } : 用遞迴尋找.... : 我是訪照中序的找法 去比較字元是不是相同再回傳 : 但是會出現要不要除錯的訊息... : 有誰可以提點我一下嗎? : 找了好久>< 先找左邊,再比較中間,然後找右邊... 如果左邊是空樹,右邊是空樹,就不找左邊,不找右邊, 那,左邊不是空樹而右邊是空樹,與左邊是空樹而右邊不是空樹,又如何呢? 且比較中間若完全不符合,find函式必須傳回什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.230.186
ntouckcm:可是這三種情形不會發生耶...140.121.219.142 12/20 10:04
ntouckcm:如果insert node的話一定會左節點右節點140.121.219.142 12/20 10:04
ntouckcm:都插入,而且其實是要比較leave node140.121.219.142 12/20 10:05
ntouckcm:所以中間一定不會符合...140.121.219.142 12/20 10:06
ntouckcm:你的意思是還是要判斷在程式中,不然會有140.121.219.142 12/20 10:06
ntouckcm:錯誤嗎?140.121.219.142 12/20 10:07
oohay:上文是指find函式有這問題,不必考慮insert 218.160.210.96 12/20 15:15