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

📄 lab04.cpp

📁 实现最优二叉树的构造;在此基础上完成哈夫曼编码器与译码器。 假设报文中只会出现如下表所示的字符: 字符 A B C D E F G H I J K L M N 频度 186 64 13 22
💻 CPP
字号:
// lab04.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "Huffman.h"
int main(int argc, char* argv[])
{
    char choice,tmp;

    Huffman hf;
    hf.init();
	hf.HuffmanCoding(hf.HT,hf.HC,hf.W,hf.N);
    while(1)
	{
		printf("\n");
		printf("*******************    哈夫曼编/译码器     ***********\n");
		printf("*   1:  保存编码到文件\"lin.txt\"                      *\n");
		printf("*   2:  请输入待编码的文件                           *\n");
		printf("*   3:  请输入待译码的文件                           *\n");
		printf("*   4:  显示待编码的文件                             *\n");
		printf("*   0:  退   出   程   序                            *\n");
		printf("******************************************************\n");
		printf("\nInput your choice(0,1,2,3):");
		scanf("%c%c",&choice,&tmp);
		if((choice<'0')||(choice>'7'))
			continue;
		switch(choice)
		{
		case '1':
            hf.writecodetable();
		 	getchar();
			break;

		case '2':
            hf.txt2code();
			break;
		case '3':
            hf.code2txt();
			break;
		case'4':
			hf.display();
			break;
		default:
			;
		}
		if(choice=='0')
			break;
	}
	return 0;
}

⌨️ 快捷键说明

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