?? huffmantree.c
字號:
#include "head.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 + -