⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 huffmancoding.cpp

📁 一个关于赫夫曼编码与译码的展示程序
💻 CPP
字号:
#include"Huffmanhead.h"
extern char HC[MAX][MAX],ShuruName[MAX];
void HuffmanCoding(HuffmanTree HT[],char CodeTemp[],int n)//从叶子到根节点逆向求每个字符的赫夫曼编码
{
	int start,i,c,f;
	CodeTemp[n]='\0';//编码结束符
	printf("Huffman Codes are:\n\n");
	printf("  \tShuruName\t\tweight\t\t  code\n");
	printf("****************************************************************\n");
	for(i=1;i<=n;i++)
	{
		start=n;
		for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent)//对第i个字符由叶子节点寻找到根结点进行编码
		{
			if(HT[f].lchild==c)
				CodeTemp[--start]='0';
			else 
				CodeTemp[--start]='1';
		}
		strcpy(HC[i],&CodeTemp[start]);//把第i个字符的编码存放在HC[i]中
		printf("  \t    %c    \t\t  %d   \t\t   %s\n",ShuruName[i],HT[i].weight,HC[i]);
	}
}    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -