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

📄 huffmantree.c

📁 哈夫曼编码解码以及文档资料和Makefile文件。
💻 C
字号:
#include "head.h"#include "struct.h"#include "declare.h"int main(void){	int choice;	char name[20];	ElemType e = {'\0',0};	CharArr c;	int i,ret;	HuffmanTree ht;	HuffmanCode hc;		for(i=0;i<MAXSIZE;i++)//初始化结构体数组	{		c.e[i]=e;		c.size=0;	}		while(choice!=0)	{		printf("\n\t\t\tHuffmanCoding\n\n\n");		printf("\t\t1. Load From File\n\n");		printf("\t\t2. Encode\n\n");		printf("\t\t3. Decode\n\n");		printf("\t\t4. Input From Keyboard\n\n");		printf("\t\t0. Exit\n");		printf("Please choice:");		scanf("%d",&choice);		switch(choice)		{			case 1:{						printf("input the file name:");//输入文件名						scanf("%s",name);						ret = readfile(name,&c);//打开文件,统计字符种类及其个数						if(ret)//失败处理						printf("readfile error\t%d\n",ret);						#if 1									for(i=0;i<c.size;i++)//输出							{								printf("%d\t%c\t%d\tAscII=%d\t%xH\n",i, c.e[i].c, c.e[i].w, c.e[i].c, c.e[i].c);							}						#endif												break;					}			case 2: {						ht=HuffmanCoding(ht,hc,&c);						ret=HuffmanFile(hc,name,&c);//编码输出						if(ret)//失败处理						printf("HuffmanFile error\t%d\n",ret);						printf("Coding Finished!");						break;					 }			case 3: {						strcpy(name,"codefile");						ret=HuffmanUncoding(ht,name,&c);//译码						if(ret)//失败处理						printf("HuffmanUncoding error\t%d\n",ret);						printf("Decoding Finished!");						break;					 }			case 4:{						Input(&c);						break;					}			case 0:  break;			default: {						printf("Input wrong!"); 						break;					}		}	}	return 0;}

⌨️ 快捷键说明

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