标题:凹入表示法
只看楼主
conish
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2007-11-9
 问题点数:0 回复次数:0 
凹入表示法
void Dispnode2(BTNode *b)
{//凹入表示法
BTNode *st[Maxsize];
BTNode *p;
int level[Maxsize][2],top=-1,n,i,width=4;
char *type;
if(b!=NULL)
{
top++;
st[top]=b;
level[top][0]=width;
level[top][1]=2;
while(top>-1)
{
p=st[top];
n=level[top][0];
switch(level[top][1])
{
case 0:type="左结点";break;
case 1:type="右结点";break;
case 2:type="根结点";break;
}
for(i=1;i<=n;i++)
cout<<" ";
cout<<p->data<<"("<<type<<")";
for(i=n+1;i<=Maxwidth;i+=2)
cout<<"__";
cout<<endl;
top--;
if(p->lchild!=NULL)
{
top++;
st[top]=p->lchild;
level[top][0]=n+width;
level[top][1]=1;
}
if(p->rchild!=NULL)
{
top++;
st[top]=p->rchild;
level[top][0]=n+width;
level[top][1]=0;
}
}
}
}
搜索更多相关主题的帖子: 表示法 
2007-11-13 23:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-185745-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.972497 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved