云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构(C语言版)实验报告(哈夫曼树)

数据结构(C语言版)实验报告(哈夫曼树)

  • 62 次阅读
  • 3 次下载
  • 2025/6/14 10:41:58

编码结果被存储在CodeFile.txt文件里

通过打开文件进行译码

译码结果被存储

通过打开encode.txt文件进行编码

编码结果同时被存储

通过自行输入文件进行译码

译码同时被存储 退出

七、 附录(源代码)

#include #include #include using namespace std; ofstream outstuf;

typedef struct{

unsigned int weight;

unsigned int parent,lchild,rchild; }HTNode,*HuffmanTree;

typedef char** HuffmanCode;

HuffmanTree HT=NULL; int n=0;

HuffmanCode HC=NULL; char *ch=NULL;

void initHuffmanTree(); int openfileInit(); int inputInit();

int HuffmanCoding(int *w); void Select(int j,int &s1,int &s2); void encoding(); void openfileEnco(); void inputEnco(); void decode();

void openfileDeco(); void inputDeco();

void dispHT( HuffmanTree nodeRoot, int level );

void initHuffmanTree(){ //选择初始化哈夫曼树 int sel=0; for(;;){

cout<<\ cout<<\ \字符集及权值来源\\t\\t\\t\\t\\t*\

cout<<\使用权值文件data.txt进行编码\\t\\t\\t*\ cout<<\自行输入字符集及权值\\t\\t\\t\\t*\ cout<<\返回上层\\t\\t\\t\\t\\t*\

cout<<\ cout<<\请输入您的选择\ \

cin>>sel;

if(sel==3) break; switch(sel)

{case 1:openfileInit();break; case 2:inputInit();break;

default:cout<<\对不起,您输入的数据有误!请重新输入。\ } }; }

int openfileInit(){ //通过打开的data.txt文件初始化哈夫曼树该文件是为了测试数据2 包涵26个字符 int *w=(int*)malloc(28*sizeof(int)); ch=(char*)malloc(28*sizeof(char)); n=27;

ifstream infile(\ if(!infile){

cerr<<\ exit(1); }

cout<<\ 权值文件中的信息(#代表空格)\ for(int i=1;infile.eof()==0;i++){ infile>>ch[i];

infile>>w[i]; } cout<

cout<<\ 字符:\

for(i=1;i<10;i++) cout<

for(i=1;i<10;i++) cout<

for(i=10;i<19;i++) cout<

for(i=10;i<19;i++) cout<

for(i=19;i<28;i++) cout<

for(i=19;i<28;i++) cout<

HuffmanCoding(w);

cout<<\ 各字符编码如下:\ for(i=1;i<=27;i++) {

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

编码结果被存储在CodeFile.txt文件里 通过打开文件进行译码 译码结果被存储 通过打开encode.txt文件进行编码 编码结果同时被存储 通过自行输入文件进行译码 译码同时被存储 退出 七、 附录(源代码) #include #include #include using namespace std; ofstream outstuf; typedef struct{ unsigned int weight; <

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com