下载此文档

哈夫曼树建立C语言.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
哈夫曼树建立
#define n 4
#define m 2*n-1
#define max 9998
#include <>
typedef struct tree
{int data;
int lchild,rchild,prnt;
}hufmtree;
/*建立哈夫曼树函数*/
void hufm(hufmtree t[m])
{
int i,j,p1,p2;
int small1,small2,f;
for(i=0;i<m;i++) /*初始化*/
{
t[i].data=0;
t[i].lchild=0;
t[i].rchild=0;
t[i].prnt=0;
}
printf("请输入N个叶子结点的值:"); /*输入N个叶子结点的值*/
for(i=0;i<n;i++)
{
scanf("%d",&f);
t[i].data=f;
}
for(i=n;i<m;i++)
{p1=0;p2=0;
small1=max;small2=max; /*small1,small2里存放最小和次小的结点值*/
for(j=0;j<=i-1;j++)
if(t[j].prnt==0)
if(t[j].data<small1)
{small2=small1;
small1=t[j].data;
p2=p1;
p1=j;}
else if(t[j].data<small2)
{
small2=t[j].data;
p2=j;
}
t[p1].prnt=i+1;
t[p2].prnt=i+1;

哈夫曼树建立C语言 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zbfc1172
  • 文件大小16 KB
  • 时间2018-09-14