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

資源簡介

基于Huffman樹的文件壓縮C語言源碼,自己做的數據結構課程設計。可以安裝到系統,實現了文件的右鍵壓縮功能。

資源截圖

代碼片段和文件信息

//文件解壓????????????
#include?“HuffmanTree.h“
#define?NAMESIZE?500

void?NextByte(int?achar*b)
{
for(int?i=0;i<8;i++)
if(a){b[7-i]=48+a%2;a=a/2;}
else?b[7-i]=‘0‘;
b[8]=‘#‘;
}
void?NextByte_2(int?achar*c)
{
char?b[8];int?i=0;
for(?i=0;i<8;i++)
if(a){b[7-i]=48+a%2;a=a/2;}else?break;
for(int?k=0;k c[k]=b[8-i+k];
// for(;i<7;i++)aa[8*j-8+i]=‘0‘;
c[i]=‘#‘;c[i+1]=‘#‘;
}
Status?ReWrite(HuffmanTree?&TFILE*print?nchar*rezipname)
{
//
char?c[9]*s;HuffmanTree?p=T+2*n-1;int?a=fgetc(pr)w=0;//w為寫入文件的數?
if(!feof(pr))NextByte(ac);
else?NextByte_2(ac);
s=c;
FILE*pw=fopen(rezipname“wb“);?

?while(!feof(pr)){
? if(*s==‘0‘&&p->lchild)p=T+p->lchild;
?else?if(*s==‘1‘&&p->rchild)p=T+p->rchild;

?if(!p->lchild&&!p->rchild){
? if(*s==‘0‘){w=(T+p->parent)->lchild-1;fwrite(&w11pw);}
? else?{w=(T+p->parent)->rchild-1;fwrite(&w11pw);}
? p=T+2*n-1;
? }
? s++;
? if(*s==‘#‘){
? a=fgetc(pr);
? if(!feof(pr))NextByte(ac);
else?NextByte_2(ac);
s=c;
?}
? }
? fclose(pw);
? return?OK;
}
void?rezip(const?char*s)
{
//s 為壓縮文件的地址和文件名。?
if(!s){system(“pause“);exit(1); }
printf(“進行文件解壓\n“);
FILE*pr*pw; char?sname[NAMESIZE];
int?ai=0jn=256m=2*n-1;UInt32?w[256];
HuffmanCode?HChc;HuffmanTree?HT;
char?rezipname[NAMESIZE]=“re“;
i=0;
while(s[i]!=‘.‘)i++;i--;
j=0;
while(s[i]!=92&&i>=0)sname[j++]=s[i--];
i=0;
while(--j>=0){rezipname[2+i]=sname[j];i++;}

rezipname[2+i]=‘.‘;i++;

pr=fopen(s“rb“);
if(!pr){
printf(“無法打開解壓文件\n“);exit(1);
}
j=0;a=fgetc(pr);
while(j<4){
rezipname[2+i]=a;if(j<3)a=fgetc(pr);j++;i++;
}
HT=(HuffmanTree)malloc(sizeof(HTNode)*(m+1));
HT[0].weight=0;HT[0].parent=0;HT[0].lchild=0;HT[0].rchild=0;
for(i=1;i<=n;i++){
HT[i].weight=0;//此時不需要權重,所以可以隨便賦值。?
HT[i].lchild=0;
HT[i].rchild=0;
}

for(i=n+1;i<=m;i++)
{
HT[i].weight=0;//此時不需要權重,所以可以隨便賦值。?
fread(&a21pr);HT[i].lchild=a;HT[a].parent=i;
fread(&a21pr);HT[i].rchild=a;HT[a].parent=i;
}
HT[m].parent=0;
//此時HT為霍夫曼樹,?

ReWrite(HTprnrezipname);
fclose(pr);
printf(“解壓成功!\n“);
}
int?main(int?argcchar?*argv[])
{
const?char*str2;str2=argv[1];
if(argc>0)rezip(str2);
return?0;?
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1150??2012-11-30?16:44??文件壓縮源文件\123.ico

?????文件???????3064??2013-11-02?13:41??文件壓縮源文件\HuffmanTree.h

????..A..H.??????3066??2013-11-02?13:41??文件壓縮源文件\HuffmanTree.h~

?????文件????????611??2013-12-31?23:08??文件壓縮源文件\laucher_1.reg

?????文件???????2353??2013-11-06?23:30??文件壓縮源文件\rezip_1.cpp

?????文件??????30230??2013-12-28?15:42??文件壓縮源文件\rezip_1.exe

?????文件???????4641??2013-12-28?15:42??文件壓縮源文件\rezip_1.o

?????文件????????953??2013-12-19?22:47??文件壓縮源文件\setup_C++RAR.cpp

?????文件??????27047??2013-12-19?22:47??文件壓縮源文件\setup_C++RAR.exe

?????文件???????1850??2013-12-19?22:47??文件壓縮源文件\setup_C++RAR.o

?????文件???????2061??2013-12-28?15:31??文件壓縮源文件\zip_1.cpp

?????文件??????29419??2013-12-28?15:31??文件壓縮源文件\zip_1.exe

?????文件???????4151??2013-12-28?15:31??文件壓縮源文件\zip_1.o

?????目錄??????????0??2014-02-25?15:38??文件壓縮源文件

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

???????????????110596????????????????????14


評論

共有 條評論