二分木insertについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 二分木insertについて

Re: 二分木insertについて

#2

by みけCAT » 5年前

この質問で書かれているコードが参考になりそうです。
挿入した木の深さを返す関数 - プログラマ専用SNS ミクプラ
リンク先のinsert関数において、levは節点pの深さになっているので、
追加した節点ptの深さを返すようにするにはlevのかわりにlev+1をreturnするようにするとよさそうです。

二分木insertについて

#1

by mo56 » 5年前

下のソースコードを、insert􏰀の引数に木􏰀の深さをカウントするための􏰀levを追加して、追加する節点の木における深さ(レベル)を返すように変更したいのですがどのようにしたら良いでしょうか?
void insert(struct vertex *p,int x)
{
struct vertex *pt;

if(p->data>x&&p->l!=NULL)
return(insert(p->l,x));
if(p->data<x&&p->r!=NULL)
return(insert(p->r,x));
pt=newv();
pt->data=x;
pt->l=pt->r=NULL;
if(p->data>x)
p->l=pt;
else
p->r=pt;
}

ページトップ