91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 196KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-19
  • 語言: C/C++
  • 標簽: Huffman????

資源簡介

字符文件統計字符出現頻度,構造Huffman 樹,編制Huffman編碼,并將給定字符文件編碼,生成編碼文件;再將給定編碼文件解碼,生成字符文件

資源截圖

代碼片段和文件信息

#include“head.h“
#include“head2.h“
#include“head3.h“
#include
#include
#include
#include
using?namespace?std;
//*********挑選兩個權值小的節點****************//
int?select(element?hufftree[?]int?signint?m)
{
????int?i=0;
int?temp?temp1temp2=0;;
for(i=0;i<2*m-1;i++)
{
if(hufftree[sign].parent==-1)
{
temp2++;
temp1=sign;
temp=hufftree[sign].weight;
}
if(temp2==1)
break;
sign++;
}
for(i=0;i<2*m-1;i++)
{
if(?hufftree[i].weight?0?)
{?
temp1=i;
temp=hufftree[i].weight;
}
}
return?temp1;
}
//////////////////////////////////////////////////////
//*****建立一棵哈夫曼樹*******************//
/////////////////////////////////////////////////////
void?huffman(?element?hufftree[?]abcd?letter[?]int?m?)
{
int?i1i2kisign;
ofstream?outfile(“t2.txt“ios::out);
for(i=0;i<2*m-1;i++)
{
hufftree[i].parent=-1;
hufftree[i].lchild=-1;
hufftree[i].rchild=-1;
}
for(i=0;i {
hufftree[i].zimu=letter[i].character;
hufftree[i].weight=letter[i].number;
}
sign=0;
for(k=m;k<2*m-1;k++)
{
i1=select(hufftree?signm);
hufftree[i1].parent=k;
hufftree[k].lchild=i1;
sign++;
i2=select(hufftreesignm);
hufftree[i2].parent=k;
hufftree[k].rchild=i2;
hufftree[k].weight=hufftree[i1].weight+hufftree[i2].weight;
sign++;
}
outfile< for(i=0;i {???
if(hufftree[i].zimu==‘?‘)
{
outfile<<‘_‘;
outfile< outfile< }

else
{
outfile< outfile< outfile< }
}
cout<<“*注意*:“< cout<<“????壓縮文件的配置文件已經保存到t2.txt中,“< cout<<“????不要輕易的刪除,否則將無法還原文件!“<}
/////////////////////////////////////////
///////////////////////////////////////
//壓縮文件,并把文件保存到二進制的文件里
///////////////////////////////////
/////////////////////////////////
int?yasuo(element?hufftree[]?int?mnode?flag[]bit?bitvec[])
{
char?ch;
int?in=7;
int?jstare=0;
ifstream?infile(“f1.txt“ios::in);
ofstream?outfile1(“ys.dat“ios::out);
bitset<8>temp4;
while(infile.get(ch))
{
for(j=0;j {?
if(hufftree[j].zimu==ch)
{
for(i=flag[j].sign-1;i>=0;?i--)
{????
temp4[n]=bitvec[j].bitvec2[i];
n=n--;
if(n==-1)
{
outfile1.write((char?*)&temp41);
stare++;
n=7;
}


}
}
}
}
cout< if(n!=7)
{
outfile1.write((char?*)&temp41);
stare++;
}
outfile1.close();
cout<<“壓縮的文件應經已二進制的方式保存到ys.dat文件之中!“< return?stare;
}
/////////////////
//對每一個字母進行哈夫曼編碼///
//////////
void?bianma(element?hufftree[]int?mnode?flag[]bit?bitvec[])
{
int?i;
int?jtemp=0temp1=0temp2=0;
for(j=0;j {
flag[j].sign=0;
temp=0;
temp2=j;
for(i=m;i<2*m-1;i++)
{
if(hufftree[i].lchild==temp2)
{??

temp2=i;
b

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2008-11-23?20:50??06082130\
?????文件??????269824??2008-01-05?20:20??06082130\06082130?程序設計報告.doc
?????目錄???????????0??2008-01-12?18:54??06082130\Huffman\
?????文件???????????2??2007-12-31?11:29??06082130\Huffman\bitset.h
?????文件????????5365??2008-01-02?16:11??06082130\Huffman\hafu.cpp
?????文件?????????179??2008-01-01?11:52??06082130\Huffman\head.h
?????文件??????????75??2007-12-29?13:47??06082130\Huffman\head2.h
?????文件??????????73??2008-01-02?16:06??06082130\Huffman\head3.h
?????文件????????2309??2008-01-02?16:13??06082130\Huffman\main.cpp

評論

共有 條評論