题2

假定已有一棵哈夫曼树,请输出每个结点的哈夫曼编码。

typedef  struct  Hfnode   //  结点类型
{
    char name[10];
    int  data;  //权值域
    struct  Hfnode* Lson, * Rson, * next;
} Hfnode, * Hfptr;
int top = -1;
char hc[N];//临时存放哈夫曼编码

void encode(Hfptr p)
{
    if (##填空1##)   
    {
        hc[top + 1] = '\0';
        printf("%s\n", hc);//输出哈夫曼编码
        return;
    }
    top++;
    hc[top] =##填空2##;
    if (p->Lson != NULL)
        encode(p->Lson);
    hc[top] = '1';
    if (p->Rson != NULL)
        encode(##填空3##);
    ##填空4##;
}

我的程序

此处内容需要评论回复后(审核通过)方可阅读。

最后修改:2021 年 11 月 19 日
如果觉得我的文章对你有用,请随意赞赏