m0_62432380 2022-06-11 23:04 采纳率: 92.9%
浏览 44
已结题

想要一个对下面代码的详细解释,最好有一个比较总的,然后每一行的代码也有相应的解释

FILE *fp6;
void dispHT(HuffmanTree HT6,int level,HuffmanTree HT)//以缩进的方式输出赫夫曼树
{
if (HT6->rchild>0)
{
dispHT(HT+HT6->rchild,level+1,HT);
}
int i=0;
for (;i<level;i++)
{
if (i<level-1)
{
printf(" ");
outstuf<<" ";
}
else
{
printf("abcdefg");
outstuf<<"abcdefg";
}
}
printf("%d\n",HT6->weight);
outstuf<weight<<endl;
if (HT6->lchild>0)
{
dispHT(HT+HT6->lchild,level+1,HT);
}
fclose(fp6);
}

int main()
{
outstuf.open("TreePrint.txt",ios::out);
dispHT(HT+53,1,HT);
outstuf.close();
}

  • 写回答

1条回答 默认 最新

  • 白驹_过隙 算法领域新星创作者 2022-06-18 11:46
    关注
    
    FILE *fp6;
    void dispHT(HuffmanTree HT6,int level,HuffmanTree HT)//以缩进的方式输出赫夫曼树
    {
    if (HT6->rchild>0)//如果右节点大于0
    {
    dispHT(HT+HT6->rchild,level+1,HT);//递归调用右节点
    }
    int i=0;
    for (;i<level;i++)//变量当前层数
    {
    if (i<level-1)//如果不是最后一层输出空格
    {
    printf(" ");
    outstuf<<" ";
    }
    else
    {
    printf("abcdefg");//最后一层时输出
    outstuf<<"abcdefg";
    }
    }
    printf("%d\n",HT6->weight);//输出当前节点权重
    outstuf<weight<<endl;
    if (HT6->lchild>0)//如果左节点大于0
    {
    dispHT(HT+HT6->lchild,level+1,HT);//递归调用左节点
    }
    fclose(fp6);
    }
    
    int main()
    {
    outstuf.open("TreePrint.txt",ios::out);//打开文件
    dispHT(HT+53,1,HT);
    outstuf.close();//关闭文件
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月26日
  • 已采纳回答 6月18日
  • 创建了问题 6月11日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测