📄 huffmantree.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 + -