编写计算树中每一个结点的度,树用孩子-兄弟表示的二叉链表存储
发布网友
发布时间:2022-04-23 09:13
我来回答
共2个回答
热心网友
时间:2023-05-22 05:31
typedef struct CSNode
{
ElemType data;int degree;
struct CSNode *firstchild, *nextsibling;
}CSNode, *CSTree;
void Degree(CSTree T, int &d)
{
if(T != NULL)
{
if(T->firstchild != null)
{
p = T->firstchild;
n = 1;
while(p->nextsibling != NULL)
{
p = p->nextsibling;
n++;
}
T->degree=n;
}
Degree(T->firstchild, d+1);
Degree(T->nextsibling, d);
}
}
热心网友
时间:2023-05-22 05:31
int LeafCount_CSTree(CSTree T)//求孩子兄弟链表表示的树T的叶子数目
{
if(!T->firstchild) return 1; //叶子结点
else
{
count=0;
for(child=T->firstchild;child;child=child->nextsibling)
count+=LeafCount_CSTree(child);
return count; //各子树的叶子数之和
}
}//LeafCount_CSTree追问是度,不是叶子节点,
是度,不是叶子节点,