亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? source.txt

?? 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
?? TXT
字號:
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
int m,s1,s2;
typedef struct {
	char name;
    int weight;
    int parent,lchild,rchild;
}HTNode,*HuffmanTree;
typedef struct {
	int weight;
	char name;
}codeweight;
typedef char **HuffmanCode;

void Select(HuffmanTree HT,int g,int &s1,int &s2)
{
  int j,k,m,n;
    for(k=1;k<=g;k++)
     {
		if(HT[k].parent==0)
		{  s1=k;  break;}
     }
   for(j=1;j<=g;j++)
   {
    if((HT[j].weight<HT[k].weight)&&(HT[j].parent==0))
       s1=j;
   }
     for(m=1;m<=g;m++)
      {
        if((HT[m].parent==0)&&(m!=s1))
		{s2=m;break;}
      }
      for(n=1;n<=g;n++)
       if((HT[n].weight<HT[m].weight)&&(HT[n].parent==0)&&(n!=s1)) s2=n;
}
//編碼
void HuffmanCoding(HuffmanTree &HT, HuffmanCode &HC, codeweight *cw, int n)
{
	 int i,m,s1=0,s2=0;
     int c,f,start;
     char *cd;
   if (n<=1) return;
   m = 2 * n - 1;
   HT = (HuffmanTree)malloc((m+1) * sizeof(HTNode));
    for (i=1; i<=n; i++)
    {
      HT[i].weight=cw[i-1].weight;
	  HT[i].name=cw[i-1].name;
      HT[i].parent=0;
      HT[i].lchild=0;
      HT[i].rchild=0;
    }
    for (i=n+1; i<=m; i++)
    {
      HT[i].weight=0;
      HT[i].parent=0;
      HT[i].lchild=0;
      HT[i].rchild=0;
    }
   for (i=n+1; i<=m; i++)
   {
     Select(HT, i-1,s1,s2);
     HT[s1].parent = i; HT[s2].parent = i;
     HT[i].lchild = s1; HT[i].rchild = s2;
     HT[i].weight = HT[s1].weight + HT[s2].weight;
   }
   HC = (HuffmanCode)malloc((n+1) * sizeof(char *));
   cd = (char *)malloc(n*sizeof(char));
   cd [n-1]='\0';
   for (i=1; i<=n; ++i)
   {
     start=n-1;
      for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent)
  	     if(HT[f].lchild==c) cd[--start]='0';
	     else cd[--start]='1';
      HC[i]=(char *)malloc((n-start)*sizeof(char));
     strcpy(HC[i],&cd[start]);
   }
free(cd);
}
//******************譯碼*****************************//
void HuffmanTran(HuffmanTree &HT,FILE *fp4,FILE *fp5,int n)
{
HuffmanTree p=HT+2*n-1;
char ch=48;
 while(1)
 {
   ch=fgetc(fp4);
   if(ch==EOF)break;
   if(ch=='0') p=HT+p->lchild;
       else if(ch=='1') p=HT+p->rchild;
    if(p->lchild==0&&p->rchild==0)
	   {
             //共n個(gè)權(quán)值中查找weigt的對應(yīng)碼
          	 fprintf(fp5,"%c",p->name);
			 p=HT+2*n-1;
       }
 }
 fclose(fp4);
 fclose(fp5);
}
 //-----主函數(shù)---------
void main()
{
FILE *fp1;
FILE *fp2;
FILE *fp3;
FILE *fp4;
FILE *fp5;
int j=0;
int num[128]={0};
codeweight cw[128];char filename[50];
HuffmanTree HT;
HuffmanCode HC;
//統(tǒng)計(jì)源文件字符
printf("請輸入要譯碼的文件名(絕對路徑):");
scanf("%s",filename);
if( (fp1=fopen(filename,"r"))==NULL )
{
printf("open source.txt fail!");
exit(0);
}
if( (fp2=fopen("e:\\statistics.txt","w+"))==NULL )
{
printf("create statistics.txt fail!");
fclose(fp1);
exit(0);
}
//---建樹并輸出赫夫曼編碼
   char ch=48;int i;
  while(1)
  {
	 ch=fgetc(fp1);
	 if(ch==EOF){fseek(fp1,0,0);break;}
	 ++num[ch];
  }

  for(i=0;i<128;i++)

  {
    if(num[i])
    {
	  fprintf(fp2,"%c %d\n",i,num[i]);
	  cw[j].name=i;cw[j].weight=num[i];
      ++j;
	}
  }
fclose(fp1);
fclose(fp2);
HuffmanCoding(HT,HC,cw,j);
        if((fp3=fopen("e:\\code.txt","w+"))==NULL )
             {
                printf("create code.txt fail!");
                exit(0);
             }
		for(i = 1;i <= j;i++)
            fprintf(fp3,"%c %s\n",cw[i-1].name,HC[i]);
        fclose(fp3);
//二進(jìn)制壓縮編碼輸出
fp1=fopen(filename,"r");
fp4=fopen("c:\\source_code.txt","w+");
 ch=48;
 while(1)
 {
	 ch=fgetc(fp1);
	 if(ch==EOF)break;
	 for(i=0;i<j;i++)
	    if(ch==cw[i].name)fputs(HC[i+1],fp4);
 }
fclose(fp1);
fclose(fp4);
fp1=fopen("e:\\bin_code.txt","wb+");
fp4=fopen("c:\\source_code.txt","rb");
char bin=0; long int s=0;char c;
int t,x,left;
	 for(t=0;t<8;t++)
	 {
	    ch=fgetc(fp4);
		if(ch==EOF)
		{
                     for(left=0;left<t;left++)
                     if((bin&(1<<(7-left)))==0){c='0';fputc(c,fp1);}
                     else {c='1';fputc(c,fp1);}
		}
	    if(ch==EOF)break;
		if(ch==48)x=0;else x=1;
	     bin=bin|x<<(7-t);
	     ++s;
		 if(t==7){t=-1;fwrite(&bin,sizeof(char),1,fp1);bin=0; }
    }
fclose(fp1);
fclose(fp4);
//二進(jìn)制編碼的譯碼輸出
 unsigned char a;
fp1=fopen("e:\\bin_code.txt","rb");
fp4=fopen("c:\\pre2_code.txt","wb+");
for(i=0;i<s/8;i++)
{
    fread(&a,sizeof(char),1,fp1);
    for(t=0;t<8;t++)
    if((a&(1<<(7-t)))==0){ch='0';fputc(ch,fp4);}
    else {ch='1';fputc(ch,fp4);}
}
for(t=0;t<left;t++)
	fputc(fgetc(fp1),fp4);
fclose(fp1);
fclose(fp4);
fp4=fopen("c:\\pre2_code.txt","rb");
fp5=fopen("e:\\tran_code.txt","wb+");
HuffmanTran(HT,fp4,fp5,j);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日日夜夜| 视频一区二区欧美| 成人一区在线看| 国产精品传媒入口麻豆| 91在线播放网址| 亚洲成人福利片| 日韩欧美国产三级电影视频| 国产美女主播视频一区| 国产精品国产成人国产三级 | 91精品国产一区二区三区香蕉| 丝袜国产日韩另类美女| 日韩精品最新网址| 粉嫩欧美一区二区三区高清影视| 国产精品成人在线观看| 欧美性猛交xxxxxx富婆| 久草这里只有精品视频| 中文文精品字幕一区二区| 91国偷自产一区二区三区成为亚洲经典 | 国产高清无密码一区二区三区| 日韩你懂的在线观看| 国产精品18久久久久久久久久久久 | 国产精品成人午夜| 色国产精品一区在线观看| 免费成人美女在线观看.| 精品免费视频一区二区| 成人不卡免费av| 午夜成人免费视频| 国产日韩精品一区二区三区在线| 91福利视频在线| 国产经典欧美精品| 亚洲午夜激情av| 国产日韩欧美电影| 欧美日韩高清在线| 成人午夜看片网址| 蜜臀国产一区二区三区在线播放| 18涩涩午夜精品.www| 日韩欧美成人激情| 91久久精品一区二区二区| 国产一区二区免费在线| 午夜精品久久久久久不卡8050| 久久精品免费在线观看| 欧美日韩精品二区第二页| 99久久精品免费看国产免费软件| 另类小说视频一区二区| 一区二区三区丝袜| 欧美国产综合色视频| 日韩欧美一区二区三区在线| 在线看日韩精品电影| 国产成人精品三级| 精品中文字幕一区二区小辣椒 | 在线免费观看日本一区| 国产成人av一区二区三区在线 | 亚洲青青青在线视频| 日本在线播放一区二区三区| 中文字幕一区二区三区在线不卡 | 亚洲尤物在线视频观看| 国产精品久久久久影院亚瑟 | 日韩亚洲欧美成人一区| 在线观看视频一区二区欧美日韩| 成人午夜又粗又硬又大| 国产精品一区二区无线| 国产一区二区三区视频在线播放| 青青草97国产精品免费观看无弹窗版 | 精品久久久久久久久久久久包黑料 | 日韩综合在线视频| 亚洲伊人色欲综合网| 亚洲欧洲制服丝袜| 国产精品蜜臀av| 中文字幕不卡在线| 国产精品三级av| 国产精品青草综合久久久久99| 久久久久九九视频| 国产亚洲欧洲一区高清在线观看| 26uuu另类欧美亚洲曰本| 91精品国产麻豆国产自产在线 | 欧美日韩一区中文字幕| 欧美亚洲动漫精品| 欧美性xxxxx极品少妇| 欧美性猛片aaaaaaa做受| 在线视频观看一区| 欧美日韩久久一区二区| 欧美日本韩国一区二区三区视频| 在线播放国产精品二区一二区四区 | 欧美午夜宅男影院| 欧美三级视频在线观看| 欧美精品亚洲二区| 91精品国产综合久久精品| 日韩一区二区影院| 精品动漫一区二区三区在线观看| 欧美一区二区三区在线视频| 日韩欧美一级在线播放| 久久久五月婷婷| 国产精品乱码一区二区三区软件| 亚洲天天做日日做天天谢日日欢| 亚洲毛片av在线| 日韩精品福利网| 国产精品综合视频| youjizz久久| 欧美三级视频在线| 精品美女在线播放| 成人欧美一区二区三区| 午夜精品在线看| 国产美女视频91| 色综合咪咪久久| 日韩精品一区二区三区蜜臀| 久久久久久久久伊人| 亚洲欧美激情插| 免费人成精品欧美精品| 欧美精品日日鲁夜夜添| 久久精品视频免费| 亚洲综合成人网| 国产在线国偷精品产拍免费yy| www.日韩av| 884aa四虎影成人精品一区| 亚洲精品一区二区三区四区高清| 国产精品久久久久久亚洲毛片| 一区二区三区在线影院| 久久精品国产**网站演员| 成人成人成人在线视频| 欧美一区二区私人影院日本| 国产精品午夜在线| 日韩不卡免费视频| 97精品超碰一区二区三区| 欧美一级xxx| 自拍偷在线精品自拍偷无码专区| 美女一区二区在线观看| 91老师国产黑色丝袜在线| 51精品视频一区二区三区| 国产精品久久久久久久久搜平片 | 成人免费小视频| 久久99久久99| 欧美美女bb生活片| 国产精品成人免费精品自在线观看| 日韩电影在线一区二区三区| 91在线视频播放地址| 精品欧美黑人一区二区三区| 亚洲高清视频的网址| 成人黄色片在线观看| 精品成人在线观看| 青青草97国产精品免费观看无弹窗版| 91蝌蚪porny| 欧美激情一区二区| 久久 天天综合| 欧美一区二区观看视频| 亚洲成人先锋电影| 91影院在线免费观看| 国产精品女同互慰在线看| 久久成人18免费观看| 欧美一区二区在线播放| 首页国产欧美日韩丝袜| 91福利在线播放| 亚洲日本韩国一区| 97精品超碰一区二区三区| 中文在线一区二区| 国产成人精品www牛牛影视| 欧美成人a∨高清免费观看| 日韩激情视频在线观看| 欧美浪妇xxxx高跟鞋交| 亚洲午夜在线视频| 在线观看日韩电影| 一区二区激情小说| 色综合久久66| 一个色在线综合| 欧美午夜精品免费| 亚洲国产日韩a在线播放| 欧美亚洲图片小说| 亚洲成在线观看| 91精品国产乱码| 久久精品国产亚洲aⅴ| 日韩欧美国产小视频| 极品少妇xxxx精品少妇| 2021国产精品久久精品| 国产一区二区不卡| 国产精品―色哟哟| 99re在线精品| 亚洲一区二区三区国产| 欧美日韩视频第一区| 日韩av一区二区三区四区| 欧美xingq一区二区| 韩国欧美国产1区| 中文成人av在线| 91电影在线观看| 视频在线在亚洲| 欧美tickling挠脚心丨vk| 国产在线精品一区二区不卡了 | 亚洲国产一二三| 日韩欧美激情在线| 国产精品99精品久久免费| 亚洲色图19p| 精品视频免费在线| 韩国女主播一区二区三区| 欧美激情一区不卡| 欧美性欧美巨大黑白大战| 奇米精品一区二区三区在线观看一| 欧美va在线播放| 波多野结衣在线一区| 亚洲一区二区三区四区在线免费观看 | 久久蜜桃av一区二区天堂| 国产电影一区在线| 亚洲免费在线看|