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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 哈夫曼編碼.cpp

?? 思路清晰的Huffman編碼
?? CPP
字號:
#define INT_MAX 10000
#define ENCODING_LENGTH 1000
#include "stdio.h"
#include "string.h"
#include "malloc.h"
typedef enum{none,left_child,right_child}Which;//標記是左孩子還是右孩子
typedef char Elemtype;//元素類型
typedef struct TNode{
    Elemtype letter; 
    int weight;
    int parent;
    Which sign;
    char *code;
}HTNode,*HuffmanTree;
int n;
char coding[50];//儲存代碼
char str[ENCODING_LENGTH];//保存要翻譯的句子
void InitTreeNode(HuffmanTree &HT){//初始前N個結點,后M-N個結點置空
    int i;int w;char c;
    int m=2*n-1;
    HuffmanTree p;
    HT=(HuffmanTree)malloc((m)*sizeof(HTNode));
    printf("Input %d database letter and weight:",n);
	printf("(For example:a1b2c3d4)\n");
    p=HT;
    getchar();
    for (i=1;i<=n;i++){
        scanf("%c%d",&c,&w);
        p->code='\0';
        p->letter=c;
        p->parent=0;
        p->sign=none;
        p->weight=w;
        p++;
    }
    for (;i<=m;i++,p++){
        p->code='\0';
        p->letter=' ';
        p->parent=0;
        p->sign=none;
        p->weight=0;
    }
}//INITTREENODE
void Select(HuffmanTree HT,int end,int *s1,int *s2){//在0~END之間,找出最小和次小的兩個結點序號,返回S1,S2
int i;
int min1=INT_MAX;
int min2;
for (i=0;i<=end;i++){//找最小的結點序號
     if (HT[i].parent==0&&HT[i].weight<min1){ 
         *s1=i;
         min1=HT[i].weight;
}
}
     min2=INT_MAX;
      for(i=0;i<=end;i++){//找次小結點的序號
          if (HT[i].parent==0&&(*s1!=i)&&min2>HT[i].weight){
              *s2=i;
              min2=HT[i].weight;
          }
      }
}
void HuffmanTreeCreat(HuffmanTree &HT){//建立HUFFMAN樹
    int i;int m=2*n-1;
    int s1,s2;
    for(i=n;i<m;i++){
        Select(HT,i-1,&s1,&s2);
        HT[s1].parent=i;
        HT[s2].parent=i;
        HT[s1].sign=left_child;
        HT[s2].sign=right_child;
        HT[i].weight=HT[s1].weight+HT[s2].weight;
    }
}

void HuffmanTreeCode(HuffmanTree HT){//HUFFMAN譯碼
int i;
char *temp;
temp=(char *)malloc(n*sizeof(char));
temp[n-1]='\0';
int p;int s;
for (i=0;i<n;i++){
     p=i;
     s=n-1;
    while (HT[p].parent!=0){//從結點回溯,左孩子為0,右孩子為1
        if (HT[p].sign==left_child)
              temp[--s]='0';
        else if (HT[p].sign==right_child)
            temp[--s]='1';
        p=HT[p].parent;
    }
    HT[i].code=(char *)malloc((n-s)*sizeof(char));//分配結點碼長度的內存空間
    strcpy(HT[i].code,temp+s);
    printf("%s\n",HT[i].code);    
}
}
void GetCodingSen(char *sentence){//輸入要編碼的句子
    int l;
	getchar();
	printf("Please input your letters.");
	printf("(For example:abcd)\n");
    gets(sentence);
    l=strlen(sentence);
    sentence[l]='\0';
}
void HuffmanTreeEncoding(char sen[],HuffmanTree HT){//將句子進行編碼
int i=0;int j;
while(sen[i]!='\0'){
    for(j=0;j<n;j++){
        if (HT[j].letter==sen[i]) //字母吻合則用代碼取代
        {strcat(coding,HT[j].code);
        break;
        }
    }
    i++;
    if (sen[i]==32) i++;
}
printf("The codes refered to the letters is:\n");
printf("(Following up-steps,you will see:110111100.110:a 111:b 10:c 0:d)");
printf("\n%s",coding);
}
void main(){
	printf("This project accomplishs the turn between letter and code.\n");
    HTNode hnode;
    HuffmanTree huff;
    huff=&hnode;
    printf("Input the letter for coding number:");
	printf("(For example:4)\n");
    scanf("%d",&n);
    InitTreeNode(huff);
    HuffmanTreeCreat(huff);
    HuffmanTreeCode(huff);
    GetCodingSen(str);
    HuffmanTreeEncoding(str,huff);
	getchar();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲一区二区在线| 972aa.com艺术欧美| 爽爽淫人综合网网站| 一个色妞综合视频在线观看| 亚洲激情六月丁香| 亚洲成人中文在线| 午夜天堂影视香蕉久久| 美女一区二区三区| 国产一区欧美日韩| 国产成人免费在线观看不卡| av亚洲精华国产精华精华| 成人av免费在线| 色拍拍在线精品视频8848| 欧美亚洲国产一区二区三区| 欧美久久一二区| 久久综合成人精品亚洲另类欧美 | 亚洲大尺度视频在线观看| 亚洲成人一区二区| 久久激情五月激情| 成人精品视频网站| 欧美日韩国产不卡| 亚洲精品在线观看网站| 欧美国产日本视频| 午夜精品一区二区三区三上悠亚| 老司机免费视频一区二区三区| 懂色av噜噜一区二区三区av| 91福利在线播放| 精品国产乱码久久久久久1区2区| 国产精品久99| 久久精品国产精品亚洲综合| 99re在线精品| 欧美xxxxx牲另类人与| 亚洲三级视频在线观看| 免费观看久久久4p| 91免费看片在线观看| 欧美一二区视频| 亚洲视频综合在线| 久久国产日韩欧美精品| 日本丰满少妇一区二区三区| 久久一夜天堂av一区二区三区| 伊人一区二区三区| 国产成人免费av在线| 欧美精品久久99| 最新久久zyz资源站| 国精产品一区一区三区mba桃花| 欧美中文字幕一区| 久久精品视频一区二区三区| 日韩电影免费在线看| 色999日韩国产欧美一区二区| 久久综合九色综合97_久久久| 亚洲综合在线观看视频| 成人性视频免费网站| 精品日韩av一区二区| 亚洲一区二区三区四区中文字幕| 成人av小说网| 久久久久亚洲综合| 日本亚洲最大的色成网站www| 一本一本久久a久久精品综合麻豆| 久久久亚洲午夜电影| 日本成人在线视频网站| 欧美性极品少妇| 一区二区在线观看视频| 99视频一区二区三区| 国产精品久久久久婷婷| 国产福利一区二区三区视频在线| 欧美电影精品一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美三区在线观看| 亚洲图片自拍偷拍| 欧美伦理电影网| 轻轻草成人在线| 精品福利二区三区| 国产曰批免费观看久久久| 精品国内二区三区| 国产一区二区调教| 日本一区二区三区四区| 粉嫩av一区二区三区粉嫩| 国产精品网站一区| 97se亚洲国产综合自在线不卡| 国产精品福利av| 色狠狠综合天天综合综合| 一区二区三区在线观看网站| 欧美视频你懂的| 麻豆精品在线观看| 欧美激情资源网| 色综合天天性综合| 午夜a成v人精品| 亚洲精品一区二区三区99| 丁香桃色午夜亚洲一区二区三区| 一区免费观看视频| 精品视频免费在线| 精品亚洲porn| 亚洲乱码国产乱码精品精可以看| 欧洲国内综合视频| 狠狠色狠狠色综合| 日韩一区在线播放| 91精品在线观看入口| 狠狠色丁香婷综合久久| 亚洲欧洲另类国产综合| 欧美精品日韩精品| 国产成人精品午夜视频免费| 一区二区日韩av| 久久久一区二区三区| 一本大道久久a久久综合| 青青草国产精品97视觉盛宴| 欧美韩国一区二区| 欧美精品久久99久久在免费线| 国产大陆精品国产| 丝袜美腿亚洲色图| 中文字幕一区二区三中文字幕| 欧美日韩免费一区二区三区视频| 国产一区二三区好的| 亚洲午夜久久久久久久久电影院| 欧美变态tickle挠乳网站| 94-欧美-setu| 国产乱对白刺激视频不卡| 亚洲国产综合色| 国产精品视频线看| 精品国产三级a在线观看| 色狠狠桃花综合| 成人毛片视频在线观看| 美日韩一区二区三区| 一区二区三区久久久| 国产精品美女久久久久久久久久久| 777奇米四色成人影色区| 色婷婷久久一区二区三区麻豆| 国产在线不卡一卡二卡三卡四卡| 亚洲成人精品一区| 一区二区三区四区亚洲| 国产精品美女久久久久久2018| 精品成人a区在线观看| 欧美精品18+| 日韩不卡一二三区| 午夜视频在线观看一区二区| 国产尤物一区二区| 色综合久久中文综合久久97| 欧美精品三级在线观看| 久久精品在这里| 亚洲激情在线激情| 国产欧美日产一区| 色天天综合久久久久综合片| 99re成人精品视频| 93久久精品日日躁夜夜躁欧美| 成人深夜视频在线观看| 国产suv精品一区二区三区| 精品一区二区久久| 久久99日本精品| 国产在线国偷精品产拍免费yy| 久久国产精品一区二区| 紧缚奴在线一区二区三区| 久久成人羞羞网站| 国产高清精品久久久久| 粉嫩av一区二区三区在线播放| 成人免费毛片片v| 一本大道久久精品懂色aⅴ| 色网站国产精品| 欧美性猛交xxxxxxxx| 欧美精品免费视频| 欧美一区二区三区在| 日韩精品一区二区三区在线播放 | 欧美亚洲国产bt| 欧美曰成人黄网| 欧美日本乱大交xxxxx| 日韩一区二区三区三四区视频在线观看 | 亚洲视频在线一区二区| 亚洲人成7777| 日本伊人色综合网| 激情欧美一区二区三区在线观看| 国产精品白丝jk黑袜喷水| 99久久久无码国产精品| 91成人在线免费观看| 欧美一区二区三区免费视频| 国产性做久久久久久| 成人免费在线观看入口| 午夜国产不卡在线观看视频| 精品一区中文字幕| av电影在线不卡| 日韩你懂的在线观看| 日韩毛片在线免费观看| 视频一区二区国产| 国产成人午夜精品5599| 欧美日韩在线精品一区二区三区激情| 日韩一区二区影院| 亚洲视频在线一区| 蜜桃精品视频在线| 91丨porny丨最新| 日韩欧美成人一区二区| 亚洲视频在线观看一区| 日本不卡一区二区三区| 成人精品小蝌蚪| 欧美一区二区三区免费视频 | 91精品国产综合久久久久久久| 国产喂奶挤奶一区二区三区| 午夜精品视频在线观看| 成人涩涩免费视频| 欧美一区二区福利在线| 亚洲精品国产a| 国产乱国产乱300精品| 555夜色666亚洲国产免| 尤物在线观看一区|