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

正文內(nèi)容

哈夫曼課程設(shè)計(jì)報(bào)告--哈夫曼編譯碼器(參考版)

2025-01-21 23:01本頁(yè)面
  

【正文】 }。 system(pause)。 default :system(cls)。 printf(\n感謝您的使用,再見!\n\n)。 break。 HFMFile(freq,HC)。i++) printf(%c\t%d\t%s\n,HC[i].ch,freq[i],amp。 for(i=0。 printf(\n文件中各個(gè)字符及其權(quán)值的情況如下所示:\n)。 //譯碼 break。 case 3:DeCode(code,str,ss,amp。HT,HC)。 break。 //輸出要編譯的字符串 printf(\n)。 //打開源文件 printf(\:\n\n)。 //選擇要執(zhí)行的操作 getchar()。 scanf(%d,amp。 Menu()。 do { system(cls)。 CodeNode HC[N]。 // int choice。 //存放統(tǒng)計(jì)后的所有字符 int i,freq[N]。 // char ss[M]。 fclose(fp)。 printf(\n哈夫曼樹創(chuàng)建成功。i++) fprintf(fp,%c\t%d\t%s\n,HC[i].ch,freq[i],amp。 } for(i=0。 if ((fp=fopen(,wt))==NULL) { printf(打開文件出錯(cuò)!\n)。}//將創(chuàng)建好的哈弗曼樹的字符,void HFMFile(int freq[],CodeNode HC[]){ int i。 //輸出譯碼后的字符串 printf(\n保存譯碼,)。 //譯碼 printf(\n譯碼后的字符串為:\n\n)。 } fclose(fp)。 if((fp=fopen(,rt))==NULL) // { printf(打開文件失敗!\n)。 int i=0。 Save(code)。 puts(code)。 //編碼 AllCode(s,HC,code)。 //查找各個(gè)字符,并統(tǒng)計(jì)其出現(xiàn)的頻數(shù) CreateHFMTree(HT,freq)。 }void Code(char s[],char str[],char code[],int freq[],HFMTree *HT,CodeNode HC[]) //編碼函數(shù){ system(cls)。 //回到根結(jié)點(diǎn) } } ss[k]=39。 ss[k++]=str[j]。q!=p。amp。 else p=pRChild。039。code[i]。root=rootParent)。 for(root=HT。 //將所有字符的編碼連接起來存放到code[]中} void Decoding(char code[],HFMTree HT,char str[],char ss[]) //譯碼{ int i,j,k=0。jn。s[i]。\039。 }}void AllCode(char s[],CodeNode HC[],char code[]) //所有的編碼{ int i,j。139。039。qParent。i++) //開始解碼 { HC[i].flag=n1。 //處理編碼的結(jié)束符 } for(i=0。 HC[i].code[n1]=39。in。 HFMTree q,p=HT。 //更改雙親結(jié)點(diǎn)的權(quán)值 p=pnext。 pRChild=HT2。 //查找權(quán)值最小的兩個(gè)結(jié)點(diǎn) HT1Parent=HT2Parent=p。HT1,amp。i2*n1。 p=pnext。in。 pnext=pLChild=pRChild=pParent=NULL。i++) //申請(qǐng)空間,并初始化所有結(jié)點(diǎn),共2n1個(gè) { pnext=(HFMTree)malloc(sizeof(HFMNode))。 //初始化 for(i=1。 p=*HT=(HFMTree)malloc(sizeof(HFMNode))。 }}void CreateHFMTree(HFMTree *HT,int freq[]) //創(chuàng)建哈夫曼樹{ int i。p!=*HT1) { min=pweight。pParent==0amp。i++,p=pnext) //查找權(quán)值次小的結(jié)點(diǎn) if(pweightminamp。 for(i=0,p=HT。 *HT1=p。amp。ik。 min=1000。 //n為查找后字符的總個(gè)數(shù)}void Select(HFMTree HT,int k,HFMTree *HT1,HFMTree *HT2) //查找權(quán)值最小的兩個(gè)結(jié)點(diǎn){ int i,min。\039。 freq[k++]++。 break。jk。s[i]。i++) //初始化freq[] freq[
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1