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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計--哈夫曼編碼問題的設(shè)計和實現(xiàn)-資料下載頁

2025-01-14 02:39本頁面
  

【正文】 ee[j].weightm1amp。amp。haffTree[j].flag==0) { m2=m1。 x2=x1。 m1=haffTree[j].weight。 x1=j。 } else if(haffTree[j].weightm2amp。amp。haffTree[j].flag==0) { m2=haffTree[j].weight。 x2=j。 } } /*將找出的兩顆權(quán)值最小的子樹合并為一棵子樹*/ haffTree[x1].parent=n+i。 haffTree[x2].parent=n+i。 haffTree[x1].flag=1。 haffTree[x2].flag=1。 haffTree[n+i].weight=haffTree[x1].weight+haffTree[x2].weight。 haffTree[n+i].leftChild=x1。 haffTree[n+i].rightChild=x2。 }}void HaffmanCode(HaffNode haffTree[],int n,Code haffCode[])/*由n個結(jié)點的哈夫曼樹haffTree構(gòu)造哈夫曼編碼haffCode*/ { Code *cd=(Code *)malloc(sizeof(Code))。 int i,j,child,parent。 /*求n個結(jié)點的哈夫曼編碼*/for(i=0。in。i++){ cdstart=n1。 cdweight=haffTree[i].weight。 child=i。 parent=haffTree[child].parent。 /*由葉結(jié)點向上直到根結(jié)點*/while(parent!=0){ if(haffTree[parent].leftChild==child) cdbit[cdstart]=0。 /*左孩子分支編碼0*/ else cdbit[cdstart]=1。 /*左孩子分支編碼1*/ cdstart。 child=parent。 parent=haffTree[child].parent。}for(j=cdstart+1。jn。j++)haffCode[i].bit[j]=cdbit[j]。 /*保存每個葉結(jié)點的編碼*/haffCode[i].start=cdstart。 /*保存不等長編碼的起始位置*/haffCode[i].weight=cdweight。 /*保存相應(yīng)字符的權(quán)值*/}}int count(char * s,int * weight,int n){ int i,j,temp,k=0,p。 for(i=0。inamp。amp。s[i]!=39。\039。i++) { temp=1。 for(j=0。jn。j++) { if(s[j]==s[i]amp。amp。i!=j) { temp++。 for(p=j。pn。p++) s[p]=s[p+1]。 n。 j。 } } weight[k++]=temp。 }return i。}void main(){ int i,j,n。 int weight[16]。 char s[30]。 HaffNode *myHaffTree。 Code *myHaffCode。printf( ************輸入字符串************\n)。 gets(s)。 n=count(s,weight,30)。 myHaffTree=(HaffNode*)malloc(sizeof(HaffNode)*(2*n+1))。 myHaffCode=(Code*)malloc(sizeof(Code)*n)。 if(nMaxN) { printf(給出的n越界,修改MaxN!\n)。 exit(1)。 } Haffman(weight,n,myHaffTree)。 HaffmanCode(myHaffTree,n,myHaffCode)。 /*輸出每個葉結(jié)點的哈夫曼編碼*/ for(i=0。in。i++) { printf( W=%d C= ,myHaffCode[i].weight)。 for(j=myHaffCode[i].start+1。jn。j++) printf(%d,myHaffCode[i].bit[j])。 printf(\n)。 }}17
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1