全文预览

北邮数据结构上机实验-哈夫曼树

上传者:火锅鸡 |  格式:doc  |  页数:16 |  大小:0KB

文档介绍
l; } // 解码函数 void huffman::decode(char *s,char *d) { while(*s!='\0') { int parent=hn-1;// 根节点 while(htree[parent].lchild!=-1)// 从根节点开始到终端节点结束循环{ if(*s=='0') parent=htree[parent].lchild; else parent=htree[parent].rchild; if(*s=='\0')// 不解码码串最尾部,无编码部分{ cout<<endl<<" 尾端无编码!"<<endl; return; } s++; } *d=hcodetable[parent].data; d++; }} // 打印哈夫曼树 void huffman::printtable() { cout<<setiosflags(ios::left)<<setw(5)<<"n"<<setw(12)<<"weig ht"<<setw(12)<<"lchild"<< setw(12)<<"rchild"<<setw(12)<<"parent"<<setw(12)<<"char"<<s etw(12)<<"code"<<endl; for(int i=0;i<hn;i++) { if(i<(hn+1)/2) { cout<<setiosflags(ios::left)<<setw(5)<<i<<setw(12)<<htree[i] .weight<<setw(12)<<htree[i].lchild<< setw(12)<<htree[i].rchild<<setw(12)<<htree[i].parent<<setw( 12)<<hcodetable[i].data<<setw(12)<<hcodetable[i].code<<endl;

收藏

分享

举报
下载此文档