선착순 으로 만 든 이 진 트 리 의 폭 을 통계 합 니 다.

**
선착순 으로 만 든 이 진 트 리 의 폭 을 통계 합 니 다.
** #include #include using namespace std; struct tree{ char data; tree *lchild; tree *rchild; }; void creat(tree *&t){ char ch; cin>>ch;
if(ch=='#') t=NULL;
else{
	t=new tree;
	t->data=ch;
	creat(t->lchild);
	creat(t->rchild);
}

} int height(tree *t){ if(t){ int l=height(t->lchild); int r=height(t->rchild); return l>r?l+1:r+1; } else return 0; } void width(tree *t,int a[],int h){ if(t==NULL) return; else{ a[h]++; width(t->lchild,a,h+1); width(t->rchild,a,h+1); } } int main(){ int a[100]={0}; tree *t; creat(t); int H=height(t); width(t,a,0); int max=a[0]; for(int i=0;i if(max } cout< return 0; }

좋은 웹페이지 즐겨찾기