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

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

?? huffman.txt

?? Huffman編碼的源代碼..很不錯的說
?? TXT
字號:
/Huffman編碼的實現,僅供學習、交流
//2009.3.23


#include <stdio.h>
#include <stdlib.h>
#define MaxSize 50

typedef struct{
    char c;                    //輸入的元素;
    int w;                     //元素權值;
    char code[MaxSize];        //元素的Huffman編碼;
    }HuffCode[MaxSize];

typedef struct{
    int Weight;                //權值;
    int LChild,RChild,Parent;
    }HTNode,HuffTree[MaxSize];

//====================================================================
void HuffmanTree(HuffTree HT,int length,HuffCode hc);        //生成Huffman樹;
void SelectHTNode(HuffTree HT,int n,int *min1,int *min2);    //查找最小和次小序號;
void HuffmanCode(HuffTree HT,int len,HuffCode hc);           //生成Huffman編碼;
//====================================================================

int main(void)
{
    HuffTree HT;       //Huffman樹;
    HuffCode HC;       //Huffman編碼;
    int i,len;
    
	printf("——Huffman編碼的實現——\n\n請同學們理解Huffman編碼的思想和程序實現的方法\n\n");
    
	printf("\n輸入代碼數量:"); 
	scanf("%d",&len); system("cls");printf("代碼數量:%2d\n\n",len);
    
	printf("輸入代碼及權值(例如: \"a16[回車]\" ):\n");
    for(i=1;i <= len;i++)
    {
        while(getchar() != '\n')    NULL;
        printf("No.%2d:  ",i);
        HC[i].c = getchar();
        scanf("%d",&HC[i].w);
    }
    HuffmanTree(HT,len,HC);
    HuffmanCode(HT,len,HC);

    printf("\n輸出Huffman編碼:\n");
    for(i = 1;i<=len;i++)
    {
        printf("\n %c :",HC[i].c);
        puts(HC[i].code);
    }
//測試Huffman樹結構;
    printf("\n\n輸出Huffman樹結構:");system("pause");
    printf("\nHT[i]:\t權值\t雙親\t左孩子\t右孩子\n");
    for(i = 1;i<2*len;i++)
    {
        if(i <= len)
			printf("(%c)",HC[i].c);
            printf("%2d:\t %2d;\t%2d,\t %2d,\t %2d.\n",\
                i,HT[i].Weight,HT[i].Parent,HT[i].LChild,HT[i].RChild);
    }
    return 0;
}

//====================================================================

//生成Huffman樹
void HuffmanTree(HuffTree HT,int length,HuffCode hc)       //Huffman樹初始化;
{
    int i,min1,min2;
    HT[0].Weight = 65535;
    for(i = 1;i <= length;i++)
    {
        HT[i].Weight = hc[i].w;
        HT[i].LChild = HT[i].RChild = HT[i].Parent = -1;
    }
    for(;i < 2*length;i++)            //i初值 = length+1;
    {
        HT[i].LChild = HT[i].RChild = HT[i].Parent = -1;
    }

    for(i = length+1;i < 2*length;i++)
    {
        SelectHTNode(HT,i,&min1,&min2);
        HT[min1].Parent = i;
        HT[min2].Parent = i;
        HT[i].LChild = min1;
        HT[i].RChild = min2;
        HT[i].Weight = HT[min1].Weight + HT[min2].Weight;
    }
}

//====================================================================

void SelectHTNode(HuffTree HT,int n,int *min1,int *min2)    //查找最小和次小序號;
{
    int i;
    *min1 = *min2 = 0;
    for(i = 1;i < n;i++)
    {
        if(HT[i].Parent == -1)
        {
            if(HT[*min1].Weight >= HT[i].Weight)
            {
                *min2 = *min1;
                *min1 = i;
            }
            else if(HT[*min2].Weight > HT[i].Weight)    *min2 = i;
        }
    }
}

//==================================================================

void HuffmanCode(HuffTree HT,int len,HuffCode hc)         //生成Huffman編碼;
{
    int i,j,tc,Stack[MaxSize],top = -1;
    char flag[MaxSize];
    HTNode th;
    for(i = 1;i <= len;i++)
    {
        top = -1;                        //棧初始化;
        j = 0;                            //hc[i].code串首位置偏移;
        th = HT[i];                        //當前結點th;
        tc = i;                            //當前結點標記tc;
        while(th.Parent != -1)
        {        //當前結點th雙親P入棧,由P的孩子是th,確定flag;確定下次結點標記tc;
            Stack[++top] = th.Parent;
            if(HT[th.Parent].LChild == tc)    {flag[top] = 'L'; tc = th.Parent;}
            if(HT[th.Parent].RChild == tc)    {flag[top] = 'R'; tc = th.Parent;}
            th = HT[Stack[top]];        //下一結點;
        }                               
        while(top != -1)
        {
            if(flag[top] == 'L')    hc[i].code[j++] ='0';
            else                    hc[i].code[j++] ='1';
            Stack[top--];                //出棧;
        }
        hc[i].code[j] ='\0';            //當前串結束;
    }         
}
//===================================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人久久久精品乱码一区二区三区 | 久久国产精品区| 国产一二精品视频| 在线看日本不卡| 久久久五月婷婷| 天天av天天翘天天综合网色鬼国产 | 欧美日韩午夜在线| 国产精品美女久久久久久2018| 免费精品视频最新在线| 欧美这里有精品| 亚洲欧洲精品天堂一级| 国产在线一区二区综合免费视频| 欧美午夜宅男影院| 亚洲毛片av在线| 99re热这里只有精品免费视频| 久久日韩精品一区二区五区| 毛片一区二区三区| 欧美精品vⅰdeose4hd| 亚洲综合区在线| 91尤物视频在线观看| 国产精品毛片大码女人| 国产一区二区三区最好精华液| 欧美一级二级三级蜜桃| 亚洲成人精品影院| 欧美四级电影网| 亚洲国产精品久久人人爱| 97久久久精品综合88久久| 亚洲国产精品二十页| 国产成人免费视频一区| 久久久一区二区三区| 国产精品66部| 国产午夜精品久久| 国产.精品.日韩.另类.中文.在线.播放| 精品国产免费人成在线观看| 精品一区二区久久| 久久先锋资源网| 九九国产精品视频| 久久精品视频一区二区| 国产高清亚洲一区| 日本一区二区动态图| 成人精品在线视频观看| 亚洲欧美区自拍先锋| 在线视频国内自拍亚洲视频| 亚洲老司机在线| 欧美日韩一级视频| 青娱乐精品视频| 精品国产免费一区二区三区香蕉| 国产精品一区二区黑丝| 中文字幕免费不卡在线| 99精品久久只有精品| 亚洲一区二区三区中文字幕在线| 欧美日韩中文字幕一区二区| 青娱乐精品视频| 欧美激情在线一区二区三区| 日本乱人伦一区| 日韩av电影天堂| 精品对白一区国产伦| 成人一区在线观看| 亚洲制服丝袜av| 26uuu另类欧美亚洲曰本| caoporn国产一区二区| 亚洲成a人片在线不卡一二三区 | 欧美日韩一区久久| 久久精品99国产精品| 国产精品青草综合久久久久99| 日本韩国欧美一区二区三区| 极品尤物av久久免费看| 亚洲日穴在线视频| 欧美一区二区精品| 91丝袜国产在线播放| 麻豆视频观看网址久久| 国产精品午夜在线观看| 在线成人午夜影院| 成人美女在线观看| 久久精品国产在热久久| 最新日韩av在线| 精品国产91亚洲一区二区三区婷婷 | 欧美一区二区在线观看| 不卡在线观看av| 久久激情综合网| 怡红院av一区二区三区| 久久久久久麻豆| 欧美日韩电影一区| jlzzjlzz欧美大全| 国产精品一区一区三区| 天天综合天天综合色| 亚洲特级片在线| 26uuuu精品一区二区| 777亚洲妇女| 日本乱码高清不卡字幕| 白白色亚洲国产精品| 国产综合一区二区| 久久精品国产精品亚洲精品| 亚洲乱码中文字幕综合| 国产精品欧美久久久久无广告| 欧美精品乱码久久久久久 | 成人开心网精品视频| 黄色精品一二区| 蜜臀av一级做a爰片久久| 亚洲午夜国产一区99re久久| 亚洲欧美综合另类在线卡通| 国产日韩欧美精品电影三级在线| 精品乱码亚洲一区二区不卡| 制服.丝袜.亚洲.另类.中文| 欧美视频第二页| 欧美最猛黑人xxxxx猛交| 91亚洲大成网污www| 东方欧美亚洲色图在线| 福利一区二区在线观看| 国产91丝袜在线观看| 国产精品911| 成人性生交大片免费看中文 | 亚洲综合色婷婷| 一二三四社区欧美黄| 亚洲人快播电影网| 亚洲免费毛片网站| 亚洲免费视频中文字幕| 一区二区三区丝袜| 午夜影院在线观看欧美| 亚洲成人自拍偷拍| 日韩av成人高清| 久久福利视频一区二区| 国精产品一区一区三区mba视频| 蜜桃久久久久久| 蜜桃av一区二区在线观看| 国产自产v一区二区三区c| 国产成人亚洲综合a∨婷婷| 国产精品99久| 91同城在线观看| 欧美色欧美亚洲另类二区| 日韩一区二区三区视频| 久久久久久97三级| 亚洲欧洲三级电影| 亚洲成人av电影| 久久电影国产免费久久电影 | 欧美日韩激情一区二区三区| 欧美久久久久免费| 精品久久久久99| 中文字幕制服丝袜一区二区三区| 亚洲欧美电影院| 免费成人性网站| 成人网在线免费视频| 欧洲亚洲国产日韩| 精品1区2区在线观看| 中文字幕字幕中文在线中不卡视频| 一区二区三区蜜桃| 久久69国产一区二区蜜臀| 99久久久久久99| 国产剧情av麻豆香蕉精品| www.亚洲激情.com| 欧美性受xxxx黑人xyx性爽| 91精品国产色综合久久不卡电影| 精品嫩草影院久久| 日韩理论在线观看| 麻豆精品在线播放| 91伊人久久大香线蕉| 日韩视频免费直播| 国产精品久久综合| 日本成人在线看| 99视频精品免费视频| 日韩欧美色电影| 亚洲免费在线视频一区 二区| 久久av老司机精品网站导航| 日本国产一区二区| 中文av一区二区| 精品一区二区三区香蕉蜜桃| 91麻豆国产自产在线观看| 久久久午夜精品| 日本aⅴ亚洲精品中文乱码| 色综合色综合色综合| 久久综合色天天久久综合图片| 亚洲精品乱码久久久久久| 国产电影一区在线| 欧美大片在线观看| 亚洲www啪成人一区二区麻豆| 顶级嫩模精品视频在线看| 国产精品久久久久久久第一福利| 亚洲国产美国国产综合一区二区| 国产成人亚洲综合a∨婷婷| 91精品久久久久久久99蜜桃| 亚洲精品伦理在线| 99在线视频精品| 国产欧美日韩久久| 国内成人精品2018免费看| 欧美精品精品一区| 亚洲sss视频在线视频| 色哟哟日韩精品| 日韩一区在线免费观看| 粉嫩蜜臀av国产精品网站| 欧美精品一区二区三区蜜桃| 美女被吸乳得到大胸91| 678五月天丁香亚洲综合网| 污片在线观看一区二区| 欧美日韩一区二区三区在线| 亚洲一二三区在线观看| 在线观看视频欧美| 亚洲精品久久久久久国产精华液| 日本精品视频一区二区| 亚洲综合一区二区三区| 欧美午夜电影网|