//求出孩子节点
for(j=1;j<=len;j++)
{
for(i=1; i<=len; i++)
{
if(nd[i].parent!=0 && nd[i].parent == j)
{
nd[j].child[i] = i;
}
}
}
//求出删除点的父亲节点
k=0;
for(i=1; i<=len; i++)
{
if(nd[i].du == 1)
{
if(nd[i].parent != 0)
{
p[k++] = nd[i].parent;
nd[nd[i].parent].child[i] = 0;
nd[nd[i].parent].du--;
}
else
{
temp = 0;
while(1)
{
if(nd[i].child[temp] != 0)
{
p[k++] = nd[i].child[temp];
nd[nd[i].child[temp]].parent = 0;
nd[nd[i].child[temp]].du--;
break;
}
temp++;
}
}
nd[i].du--;
i = 0;
}
}
//输出
cout<<p[0];
for(i=1;i<len-1;i++)
{
cout<<" "<<p[i];
}
cout<<endl;
}
}
int main()
{
doRun();
return 0;
}
正文
续pku(2567)(1)2005-09-08 04:57:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/ddtme/4509.html
阅读(4399) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论