欢迎来到天天文库
浏览记录
ID:38782361
大小:14.29 KB
页数:5页
时间:2019-06-19
《哈弗曼编码C++程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#includeusingnamespacestd;intii=0;chara1[200];intn1=0;intnn[200];intmm[200];intn,nn1;//输入字符串的长度classHuffman{public:charelementChar;//节点元素intweight;//权重chars;//哈夫曼编码Huffman*parent;//父节点Huffman*left
2、Child;//左孩子Huffman*rightChild;//右孩子voidDisplay();//显示压缩效果Huffman();Huffman(chara,intweight);booloperator<(constHuffman&m)const{returnweight3、;for(inti=0;i<200;i++)num=num+nn[i]*mm[i];c=100*(8*n-num)/(8*n);cout<<"编码前字符串的长度是"<<8*n<4、Huffmantemp=h;while(temp.parent!=NULL){nn[n1]=nn[n1]+1;ss=temp.s+ss;temp=*temp.parent;}mm[n1]=h.weight;n1++;cout<5、emp=h;inti;for(i=0;i6、in.getline(a,200);cout<huffmanQueue;//得到字符串信息charcha[100];//数组cha7、记录所有输入字符的种类inti=0,j,m[100],h,k=0;//数组m记录各种输入字符的频度,和cha对应for(i=0;i8、}cout<
3、;for(inti=0;i<200;i++)num=num+nn[i]*mm[i];c=100*(8*n-num)/(8*n);cout<<"编码前字符串的长度是"<<8*n<4、Huffmantemp=h;while(temp.parent!=NULL){nn[n1]=nn[n1]+1;ss=temp.s+ss;temp=*temp.parent;}mm[n1]=h.weight;n1++;cout<5、emp=h;inti;for(i=0;i6、in.getline(a,200);cout<huffmanQueue;//得到字符串信息charcha[100];//数组cha7、记录所有输入字符的种类inti=0,j,m[100],h,k=0;//数组m记录各种输入字符的频度,和cha对应for(i=0;i8、}cout<
4、Huffmantemp=h;while(temp.parent!=NULL){nn[n1]=nn[n1]+1;ss=temp.s+ss;temp=*temp.parent;}mm[n1]=h.weight;n1++;cout<5、emp=h;inti;for(i=0;i6、in.getline(a,200);cout<huffmanQueue;//得到字符串信息charcha[100];//数组cha7、记录所有输入字符的种类inti=0,j,m[100],h,k=0;//数组m记录各种输入字符的频度,和cha对应for(i=0;i8、}cout<
5、emp=h;inti;for(i=0;i6、in.getline(a,200);cout<huffmanQueue;//得到字符串信息charcha[100];//数组cha7、记录所有输入字符的种类inti=0,j,m[100],h,k=0;//数组m记录各种输入字符的频度,和cha对应for(i=0;i8、}cout<
6、in.getline(a,200);cout<huffmanQueue;//得到字符串信息charcha[100];//数组cha
7、记录所有输入字符的种类inti=0,j,m[100],h,k=0;//数组m记录各种输入字符的频度,和cha对应for(i=0;i8、}cout<
8、}cout<
此文档下载收益归作者所有