作者oohay (五黑)
看板Programming
标题Re: [问题] TREE
时间Thu Dec 20 00:55:40 2007
※ 引述《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
1F:推 ntouckcm:可是这三种情形不会发生耶...140.121.219.142 12/20 10:04
2F:→ ntouckcm:如果insert node的话一定会左节点右节点140.121.219.142 12/20 10:04
3F:→ ntouckcm:都插入,而且其实是要比较leave node140.121.219.142 12/20 10:05
4F:→ ntouckcm:所以中间一定不会符合...140.121.219.142 12/20 10:06
5F:→ ntouckcm:你的意思是还是要判断在程式中,不然会有140.121.219.142 12/20 10:06
6F:→ ntouckcm:错误吗?140.121.219.142 12/20 10:07
7F:→ oohay:上文是指find函式有这问题,不必考虑insert 218.160.210.96 12/20 15:15