xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 227KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-21
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: C語(yǔ)言??

資源簡(jiǎn)介

在雙工通訊中利用哈夫曼編碼和譯碼。功能: 1) 初始化:從鍵盤(pán)讀入字符集大小n,以及n個(gè)字符和相應(yīng)的權(quán)值,建立哈夫曼樹(shù),并存入文件A中。 2) 編碼:利用已經(jīng)建好的哈夫曼樹(shù),對(duì)文件B中的正文進(jìn)行編碼,然后將結(jié)果存入文件C中。 3) 譯碼:利用已經(jīng)建好的哈夫曼樹(shù)將文件C中的代碼進(jìn)行譯碼,結(jié)果存入文件D中。

資源截圖

代碼片段和文件信息

#include??
#include??
#include??
#include??
#include??

//typedef?int?TElemType;?
const?int?UINT_MAX=1000;?
char?str[50];?

typedef?struct?
{?
int?weightK;?
int?parentlchildrchild;?
}HTNode*?HuffmanTree;?

typedef?char?**HuffmanCode;?

//-----------全局變量-----------------------?
HuffmanTree?HT;?
HuffmanCode?HC;?
int?w[50]ijn;?
char?z[50];?
int?flag=0;?
int?numb=0;?

//?-----------------求赫夫曼編碼-----------------------?
struct?cou{?
char?data;?
int?count;?
}cou[50];?

int?min(HuffmanTree?tint?i)?
{?//?函數(shù)void?select()調(diào)用?
int?jflag;?
int?k=UINT_MAX;?//?取k為不小于可能的值即k為最大的權(quán)值1000?
for(j=1;j<=i;j++)?
if(t[j].weightk=t[j].weightflag=j;?
t[flag].parent=1;?
return?flag;?
}?

//--------------------slect函數(shù)----------------------?
void?select(HuffmanTree?tint?iint?&s1int?&s2)?
{?//?s1為最小的兩個(gè)值中序號(hào)小的那個(gè)?
int?j;?
s1=min(ti);?
s2=min(ti);?
if(s1>s2)?
{?
j=s1;?
s1=s2;?
s2=j;?
}?
}?
void?HuffmanCoding(HuffmanTree?&HTHuffmanCode?&HCint?*wint?n)?
{?//?w存放n個(gè)字符的權(quán)值(均>0)構(gòu)造赫夫曼樹(shù)HT并求出n個(gè)字符的赫夫曼編碼HC?
int?mis1s2start;?
//unsigned?cf;?
int?cf;?
HuffmanTree?p;?
char?*cd;?
if(n<=1)?
return;//檢測(cè)結(jié)點(diǎn)數(shù)是否可以構(gòu)成樹(shù)?
m=2*n-1;?
HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode));?//?0號(hào)單元未用?
for(p=HT+1i=1;i<=n;++i++p++w)?
{?
p->weight=*w;?
p->parent=0;?
p->lchild=0;?
p->rchild=0;?
}?
for(;i<=m;++i++p)?
p->parent=0;?
for(i=n+1;i<=m;++i)?//?建赫夫曼樹(shù)?
{?//?在HT[1~i-1]中選擇parent為0且weight最小的兩個(gè)結(jié)點(diǎn)其序號(hào)分別為s1和s2?
select(HTi-1s1s2);?
HT[s1].parent=HT[s2].parent=i;?
HT[i].lchild=s1;?
HT[i].rchild=s2;?
HT[i].weight=HT[s1].weight+HT[s2].weight;?
}?
//?從葉子到根逆向求每個(gè)字符的赫夫曼編碼?
HC=(HuffmanCode)malloc((n+1)*sizeof(char*));?
//?分配n個(gè)字符編碼的頭指針向量([0]不用)?
cd=(char*)malloc(n*sizeof(char));?//?分配求編碼的工作空間?
cd[n-1]=‘\0‘;?//?編碼結(jié)束符?
for(i=1;i<=n;i++)?
{?//?逐個(gè)字符求赫夫曼編碼?
start=n-1;?//?編碼結(jié)束符位置?
for(c=if=HT[i].parent;f!=0;c=ff=HT[f].parent)?
//?從葉子到根逆向求編碼?
if(HT[f].lchild==c)?
cd[--start]=‘0‘;?
else?
cd[--start]=‘1‘;?
HC[i]=(char*)malloc((n-start)*sizeof(char));?
//?為第i個(gè)字符編碼分配空間?
strcpy(HC[i]&cd[start]);?//?從cd復(fù)制編碼(串)到HC?
}?
free(cd);?//?釋放工作空間?
}?
//---------------------獲取報(bào)文并寫(xiě)入文件---------------------------------?
int?InputCode()?
{?
//printf(“請(qǐng)輸入你想要編碼的字符“);?
FILE?*tobetran;?

if((tobetran=fopen(“tobetran.txt““w“))==NULL)?
{?
printf(“不能打開(kāi)文件“);?
return?0;?
}?
printf(“請(qǐng)輸入你想要編碼的字符“);?
scanf(“%s“str);
fputs(strtobetran);?
printf(“獲取報(bào)文成功“);?
fclose(tobetran);?
return?strlen(str);?
}?



//--------------初始化赫夫曼鏈表---------------------------------?
void?Initialization()?
{?int?akflaglen;?
a=0;?
len=InputCode();?
for(i=0;i{k=0;flag=1;?
cou[i-a].data=str[i];?
cou[i-a].count=1;?
while(i>k)?
{?
if(str[i]==str[k])?
{?
a++;?
flag=0;?
}?
k++;?
if(flag==0)?
break;?

}?

if(flag)?
{?
for(j=i+1;j{if(str[i]==str[j])?
++cou[i-a].count;}?
}?

}?
n=len-a;?
for(i=0;i{?printf(“%c的出

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????8718??2009-01-07?11:08??huffman\huffman.cpp

?????文件?????198656??2009-01-07?18:00??huffman\圖畫(huà)\1?main.edd

?????文件?????171008??2009-01-07?18:02??huffman\圖畫(huà)\1i.edd

?????文件??????16005??2009-01-07?18:02??huffman\圖畫(huà)\1i.jpg

?????文件??????19905??2009-01-07?18:00??huffman\圖畫(huà)\1main.jpg

?????文件?????174592??2009-01-07?18:03??huffman\圖畫(huà)\2e.edd

?????文件??????17931??2009-01-07?18:04??huffman\圖畫(huà)\2e.jpg

?????文件?????174592??2009-01-07?18:10??huffman\圖畫(huà)\3d.edd

?????文件??????19309??2009-01-07?18:10??huffman\圖畫(huà)\3d.jpg

?????文件?????169472??2009-01-07?18:12??huffman\圖畫(huà)\4p.edd

?????文件??????18064??2009-01-07?18:12??huffman\圖畫(huà)\4p.jpg

?????文件?????173568??2009-01-07?18:13??huffman\圖畫(huà)\5t.edd

?????文件??????17193??2009-01-07?18:13??huffman\圖畫(huà)\5t.jpg

?????文件?????173568??2009-01-07?18:14??huffman\圖畫(huà)\6y.edd

?????文件??????17367??2009-01-07?18:14??huffman\圖畫(huà)\6y.jpg

?????目錄??????????0??2009-03-01?23:17??huffman\圖畫(huà)

?????目錄??????????0??2009-04-22?16:34??huffman

-----------?---------??----------?-----??----

??????????????1369948????????????????????17


評(píng)論

共有 條評(píng)論

相關(guān)資源