freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

哈夫曼編碼譯碼器實驗報告(免費)-資料下載頁

2025-07-22 09:46本頁面
  

【正文】 weightmin){min=forest[i]weight。min2=i。} // } //至此找到min1 min2pp=new signode()。 //新生成節(jié)點,權值為兩最小節(jié)點權值之和//ppleft=forest[min1]。ppright=forest[min2]。forest[min2]b=true。 //為hufcode函數(shù)作準備,與此函數(shù)無關//ppweight=forest[min1]weight+forest[min2]weight。forest[min1]parent=pp。forest[min2]parent=pp。 forest[min1]=pp。 //新生成節(jié)點加入森林for(i=min2。forest[i]!=NULL。i++)forest[i]=forest[i+1]。 //min2后的節(jié)點依次前移//count。}root=pp。return pp。}void HFM::hufcode(){ //哈夫曼編碼,保存在hufNode節(jié)點的數(shù)組當中//inorder(root)。for(int i=0。hufNode[i].sig!=NULL。i++){signode * gud=hufNode[i].sig。while(gudparent!=NULL){if(gudparentleft==gud)hufNode[i].code[hufNode[i].size++]=0。else if(gudparentright==gud)hufNode[i].code[hufNode[i].size++]=1。 gud=gudparent。}}}void HFM::savewithhufcode(FILE * inf,FILE * outf){ //用哈弗曼編碼存儲文件//rewind(inf)。 //回到文件起始防止文件未關閉導致的錯誤//char ch=fgetc(inf)。while(!feof(inf)){for(int i=0。hufNode[i].sigc!=ch。i++)。if(hufNode[i].sigc==ch) {for(int k=0。khufNode[i].size。k++){couthufNode[i].code[k]。if(hufNode[i].code[k]==0){fputc(48,outf)。memo2++。} //48,49分別是字符0,1的ASCII碼//else if(hufNode[i].code[k]==1){fputc(49,outf)。memo2++。} } } ch=fgetc(inf)。}}void HFM::inorder(signode * sig){ if(sigleft==NULLamp。amp。sigright==NULL){hufNode[count++].sig=sig。return 。}else { inorder(sigleft)。inorder(sigright)。}}int HFM::maxc(){ int ma=0。 //計數(shù)變量//for(int i=0。ialleaf。i++){ if(hufNode[i].sizema)ma=hufNode[i].size。}return ma。}void HFM::hufdecode(FILE* ipf,FILE* opf){ //解碼,由哈夫曼碼到字符//signode* pt=root。 char ch=fgetc(ipf)。while(!feof(ipf)){ //判斷有無到文件尾/ if(ch==39。039。){ if(ptleft==NULL){ coutptc。 fputc(ptc,opf)。 pt=root。 } pt=ptleft。 } else if(ch==39。139。){ //注意字符0,1與數(shù)字0,1是不同的// if(ptright==NULL){ coutptc。 fputc(ptc,opf)。 pt=root。 } pt=ptright。 } ch=fgetc(ipf)。 } coutptc。 fputc(ptc,opf)。 fclose(ipf)。 fclose(opf)。}void input(FILE * f){ char ch=fgetc(f)。while(!feof(f)){ //feof(f1)判斷文件是否結束,結束返回值為真//putchar(ch)。 //向屏幕上輸出一個字符//memo1++for(int i=0。SN[i].c!=NULL。i++){ //查看文件內(nèi)容修改字符權重//if(SN[i].c==ch){if(SN[i].b==false){ //如果第一次出現(xiàn)就加入森林,否則什么也不做//SN[i].b=true。forest[count++]=amp。SN[i]。}SN[i].weight++。 //增加權重//} }ch=fgetc(f)。 }coutendl。}
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1