Logo Andy0815的博客

博客

2023-07-27 16:10:29 By Andy0815

include

include

using namespace std; struct node{ int num; string type; int p; int cnt; int kid[100]; int depth; }; int n,rootnum; node t[105]; int f[105]={0}; bool cmp(node a,node b){ return a.num>n; int k; for(int i=0;i>t[i].num>>t[i].cnt; if(t[i].cnt==0){ t[i].type="leaf"; } else{ for(int j=0;j>k; t[i].kid[j]=k; f[k]=1; t[k].p=i; } } } sort(t,t+n,cmp); for(int i=0;i<n;i++){ if(f[i]==1&&t[i].type!="leaf"){ t[i].type="internal node"; } if(f[i]==0){ t[i].type="root"; rootnum=i; t[i].p=-1; } } getDeep(0,rootnum); for(int i=0;i<n;i++){ cout<<"node "<<i<<":"<<"parent="<<t[i].p<<",depth="<<t[i].depth<<","<<t[i].type<<",["; if(t[i].cnt==0){ cout<<"]"<<endl; } else{ for(int j=0;j<t[i].cnt;j++){ cout<<t[i].kid[j]; if(j==t[i].cnt-1){ continue; } cout<<","; } cout<<"]"<<endl; }

}

}

评论

Joker
论Andy0815不会Markdown

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。