現在C言語で二分探索木に関するプログラムを書いています。
二分探索木の内部道長を求めたいので、再帰関数を書こうと思ったのですがコードを書けません。
数日間悩んだものの、周りに質問できる人もおらず先に進めないので初めて質問させていただきました。
また、木の高さを求める関数も書きました。こちらはヘッダファイルの中身として書いています。
誤りがあったり、より良い書き方がありましたらお教えください。
C
1int heightR(link p){//linkはノードのポインタ 2 int hl = 0,hr = 0; 3 4 if(p == NULL)return 0; 5 6 hl = heightR(p->l) + 1; 7 hr = heightR(p->r) + 1; 8 9 if(hl > hr) return hl; 10 else return hr; 11} 12 13int STheight(){ 14 return heightR(head) - 1;//headは根 15}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。