标题:请问各位高手,我的程序出了什么问题?
只看楼主
jdh99
Rank: 2
来 自:南师大
等 级:论坛游民
威 望:1
帖 子:59
专家分:15
注 册:2008-11-7
得分:0 
修改了一下,LZ参考:
#include "stdio.h"
#include "stdlib.h"

//----树的二叉树(孩子-兄弟)存储表示------
typedef struct CSNode
{  
    char data;
    struct CSNode *firstchild, *nextsibling;
}CSNode, *CSTree;


int bi_forest(CSTree *p)
{
    char ch;

    scanf("%c",&ch);
    fflush(stdin);//清输入缓存

    if (ch == '#')
    {
        *p = NULL;
    }                                               //如果二叉树是空的,则将相应的森林也设为空
    else
    {
        *p = (CSNode * )malloc(sizeof(CSNode));
        (*p)->data = ch;
        bi_forest(&(*p)->firstchild);
        bi_forest(&(*p)->nextsibling);
    }
    return 0;
}

//求孩子兄弟链表表示的树T的深度
int GetDepth_CSTree(CSTree T)
{
    CSTree p;
    int lh;//左树深度
    int rh;//右树深度
    int h;//树深

    if (T == NULL)//..
    {
        h=0;
    }                                   //空树返回应为0
    else
    {
        lh = GetDepth_CSTree(T->firstchild);
        rh = GetDepth_CSTree(T->nextsibling);
        h=(lh > rh?lh:rh)+1;
    }
    return h;
}


main()
{
    CSTree T;
    int count = 0;

    bi_forest(&T);
    count = GetDepth_CSTree(T);
    printf("%d\n",count);
}
输入输出:
a
b
c
#
#
d
#
#
e
#
#
3
Press any key to continue

作鲲鹏,遨游于天地沧海
2008-11-30 15:23
荣小三
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-11-25
得分:0 
是不是写这个程序的哥们自已写错了吧?
2008-11-30 17:05
chenbiancheng
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-11-30
得分:0 
抱歉,我新手,不懂.
2008-11-30 19:47



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




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

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