编辑: 学冬欧巴么么哒 | 2019-07-09 |
for(i=n;
i0说明该结点已存在哈夫曼树中,跳出循环重新选择新结点 作用是每次遍历确保不重复寻找*/ if(min>
temp[j].wight)找出权值最小的叶子节点 { pt1=j;
min=temp[j].wight;
continue;
} } temp[i].wight=temp[pt1].wight;
temp[pt1].parent=i;
temp[i].lch=pt1;
min=999999999;
for(j=0;
j0) continue;
if(min>
temp[j].wight) { pt1=j;
min=temp[j].wight;
continue;
} } temp[i].wight+=temp[pt1].wight;
temp[i].rch=pt1;
temp[pt1].parent=i;
//哈夫曼无重复前缀编码 } } 编码哈夫曼树: void coding(BiTree temp[],long n) //hufman编码 { long i,j,f;
for(i=0;
itemp[j].wight) { pt1=j;
min=temp[j].wight;
continue;
} } temp[i].wight+=temp[pt1].wight;
temp[i].rch=pt1;
temp[pt1].parent=i;
//哈夫曼无重复前缀编码 } } void coding(BiTree temp[],long n) //hufman编码 { long i,j,f;
for(i=0;
i........