數據結構作業之二叉樹左右子樹交換+二叉樹高度計算(寫的不好還請大家多多指點)





















































































































posted on 2009-03-17 18:08 abilitytao 閱讀(3004) 評論(4) 編輯 收藏 引用
枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令
posted on 2009-03-17 18:08 abilitytao 閱讀(3004) 評論(4) 編輯 收藏 引用
/*int count(node *p)
{
if(p==NULL)
return 0;
else if(count(p->lchild)>=count(p->rchild))
return count(p->lchild)+1;
else count(p->rchild)+1;
}*///錯誤版樹高計算程序 問:到底哪錯了???個人感覺是遞歸上出問題了。。。
很明顯嘛,錯在count(p->lchild)>=count(p->rchild) 根本就沒你在求左子樹的時候還得用同層次右子樹的信息,當然不對了。。只能用下一層的信息。。 回復 更多評論
@清水灣
有道理呵 看來直觀的去理解還是會出問題的 回復 更多評論
太感謝你了~~我比較笨,這程序寫了一個多小時了,CreatTree的參數老出錯,我郁悶啊,看了你后面的 *&p 我恍然大悟啊~~但我還是有點不明白為什么不能用 *p ? chage函數的參數都是用的 *p 啊 回復 更多評論
/*int count(node *p)
{
if(p==NULL)
return 0;
else if(count(p->lchild)>=count(p->rchild))
return count(p->lchild)+1;
else count(p->rchild)+1;
}*///錯誤版樹高計算程序 問:到底哪錯了???個人感覺是遞歸上出問題了。。。
最后的else 少了個return吧 回復 更多評論
只有注冊用戶登錄后才能發表評論。 | ||
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
![]() |
||
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
|
||
|