数据结构哈夫曼编译码器(4)

2018-12-05 22:14

东北大学秦皇岛分校计算机与通信工程学院计算机科学与技术

p=tree[i].parent; while (p != 0) { buf.start--; if (tree[p].lchild==c) buf.bits[buf.start]='0'; elsebuf.bits[buf.start]='1'; c=p; p=tree[p].parent; } code[i]=buf; } }

void writecodehuffman(hufcode code[], huftree tree[]) {

inti, j, k, n=0; char c[100];

cout<< \请输入字符串:\ gets(c); cout<

cout<< \则字符串的哈夫曼编码为:\ for (i=0; i

void transcodehuffman(hufcode code[], huftree tree[], char s[]) 曼译码 {

inti;

char *q=NULL; i=hufnum-1; q=s; while (*q!='\\0')

//哈弗曼编码 // 哈夫 东北大学秦皇岛分校计算机与通信工程学院计算机科学与技术

{ if (*q=='0') i=tree[i].lchild; if (*q=='1') i=tree[i].rchild; if ((tree[i].lchild==0)&&(tree[i].rchild==0)) { cout<< code[i].ch; i = hufnum - 1; } q++; }

cout<

void printtreehuffman(huftree tree[]) // 输出哈夫曼树 {

inti;

cout<< \根据字符的使用概率所建立的哈夫曼数为:\

cout<< \字符序号字符名称字符频率双亲位置左孩子右孩子\ for (i = 1; i

void printcodehuffman(hufcode code[]) //输出每个字符的哈夫曼编码 {

inti, j;

cout<< \根据哈夫曼树对字符所建立的哈夫曼编码为:\ cout<< \字符序号字符名称字符编码\ for (i =1; i<= leafnum; i++) { cout<< \ \ \ \ for(j=code[i].start;j

void main()

东北大学秦皇岛分校计算机与通信工程学院计算机科学与技术

{ }

creattreehuffman(tree); printtreehuffman(tree);

creatcodehuffman(code, tree); printcodehuffman(code);

writecodehuffman(code, tree); char *filename = \ofstreamofs(filename); ofs<

ifstream ifs(filename); if (!ifs) { cout<< \ exit(0); }

char buffer[1000]; ifs>> buffer;

cout<

cout<< \文件中的代码如下:\cout<< buffer <

cout<< \文件中代码译码为:\transcodehuffman(code, tree, buffer);


数据结构哈夫曼编译码器(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:“中小学有效教学反思机制构建研究”开题报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: