136
/************************************************************/
/* 打印哈夫曼字符编码的函数 */
/************************************************************/
void PrintCharCoding() { int i,n;
struct HuffmanCoding code[NODENUM]; FILE *fp;
/********************************************************/
/* 打印字符编码 */
/* 1、读字符编码数据 */
/* 2、打印字符编码数据 */
/* 格式:
*/
/* character coding */
/* ---------------------- - */
/* charactor coding */
/* */ */
/*
/********************************************************/
打印字符编码的代码 (由学生独立完成)
}
/************************************************************/
/* 以表的形式打印哈夫曼树的函数 */
/************************************************************/
void PrintHuffmanTable() { int i,m; FILE *fp;
/************************************************************/
/* 打印字符编码 */
/* 1、读哈夫曼树数据 */
/* 2、打印哈夫曼树数据 */
/* 格式:
*/
/* Huffman Table */
/* ---------------------------------------------------------------------- */
/* Number charactor weight Parent Lchild Rchild */
*/
/*
/************************************************************/
表的形式打印字符编码的代码
(由学生独立完成)
free_ht();
137
}
int nemu() {
int num;
printf(\ ******* huffman arithmetic demonstration *********\\n\ printf(\ *c1---Initial#c\\n\ printf(\ *c2---Encode$c\\n\ printf(\ *c3---Decode$c\\n\
printf(\ *c4---Print huffmantreec\\n\ printf(\ *c5---Print huffman Tablec\\n\ printf(\ *c6---Print char Codingc\\n\ printf(\ *c7---Quit&c\\n\
printf(\ **************************************************\\n\ printf(\ do{
scanf(\ }while(num<1 ||num>7); return(num); }
void main() { while(1) {
switch(nemu()) { case 1:
Initialization(); break;
case 2:
Encode(); break;
case 3:
Decode(); break;
case 4:PrintHuffmanTree();
break;
case 5:PrintHuffmanTable();
break;
case 6:PrintCharCoding();
break;
case 7:
return;
} }
}