二分木insertについて
Posted: 2020年6月20日(土) 11:36
下のソースコードを、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;
}
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;
}