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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? huffman算法源代碼.txt

?? 數(shù)據(jù)結(jié)構(gòu)里比較常見(jiàn)到的壓縮算法。希望對(duì)大家有用。
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
VC的,就順手貼了過(guò)來(lái)了,算法流程應(yīng)該是最 
重要的,很多講數(shù)字壓縮的都有Huffman算法. 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <dir.h> 
#include <dos.h> 
#include <direct.h> 
#include <bios.h> 
#include <conio.h> 
#include <time.h> 
#define EXIT_OK 0 
#define EXIT_FAILED -1 
////////////////////////////////////////////////////////////////// 
//////////////////////////////////////////////////////////////// 
FILE  *infile, *outfile; 
unsigned long int  textsize = 0, codesize = 0, printcount = 0; 
void Error(char *message) 
{ 
        printf("\n%s\n", message); 
        exit(-1); 
} 
/* LZSS Parameters */ 
#define N               4096    /* Size of string buffer */ 
#define F               60      //* Size of look-ahead buffer 60 
#define THRESHOLD       2 
#define NIL             N       /* End of tree's node  */ 
unsigned char 
                text_buf[N + F -1];//-1 
int             match_position, match_length, 
                lson[N + 1], rson[N + 257], dad[N + 1]; 
void InitTree(void)  /* Initializing tree */ 
{ 
        int  i; 
        for (i = N + 1; i <= N + 256; i++) 
                rson[i] = NIL;                  /* root */ 
        for (i = 0; i < N; i++) 
                dad[i] = NIL;                   /* node */ 
} 
void InsertNode(int r)  /* Inserting node to the tree */ 
{ 
        int  i, p, cmp; 
        unsigned char  *key; 
        unsigned c; 
        cmp = 1; 
        key = &text_buf[r]; 
        p = N + 1 + key[0]; 
        rson[r] = lson[r] = NIL; 
        match_length = 0; 
        for ( ; ; ) { 
                if (cmp >= 0) { 
                        if (rson[p] != NIL) 
                                p = rson[p]; 
                        else { 
                                rson[p] = r; 
                                dad[r] = p; 
                                return; 
                        } 
                } else { 
                        if (lson[p] != NIL) 
                                p = lson[p]; 
                        else { 
                                lson[p] = r; 
                                dad[r] = p; 
                                return; 
                        } 
                } 
                for (i = 1; i < F; i++) 
                        if ((cmp = key[i] - text_buf[p + i]) != 0) 
                                break; 
                if (i > THRESHOLD) { 
                        if (i > match_length) { 
                                match_position = ((r - p) & (N - 1)) - 1; 
                                if ((match_length = i) >= F) 
                                        break; 
                        } 
                        if (i == match_length) { 
                                if ((c = ((r - p) & (N - 1)) - 1) < match_po 
sitoon) { 
                                        match_position = c; 
                                } 
                        } 
                } 
        } 
        dad[r] = dad[p]; 
        lson[r] = lson[p]; 
        rson[r] = rson[p]; 
        dad[lson[p]] = r; 
        dad[rson[p]] = r; 
        if (rson[dad[p]] == p) 
                rson[dad[p]] = r; 
        else 
                lson[dad[p]] = r; 
        dad[p] = NIL;  /* remove p */ 
} 
void DeleteNode(int p)  /* Deleting node from the tree */ 
{ 
        int  q; 
        if (dad[p] == NIL) 
                return;                 /* unregistered */ 
        if (rson[p] == NIL) 
                q = lson[p]; 
        else 
        if (lson[p] == NIL) 
                q = rson[p]; 
        else { 
                q = lson[p]; 
                if (rson[q] != NIL) { 
                        do { 
                                q = rson[q]; 
                        } while (rson[q] != NIL); 
                        rson[dad[q]] = lson[q]; 
                        dad[lson[q]] = dad[q]; 
                        lson[q] = lson[p]; 
                        dad[lson[p]] = q; 
                } 
                rson[q] = rson[p]; 
                dad[rson[p]] = q; 
        } 
        dad[q] = dad[p]; 
        if (rson[dad[p]] == p) 
                rson[dad[p]] = q; 
        else 
                lson[dad[p]] = q; 
        dad[p] = NIL; 
} 
/* Huffman coding parameters */ 
#define N_CHAR          (256 - THRESHOLD + F) 
                                /* character code (= 0..N_CHAR-1) */ 
#define T               (N_CHAR * 2 - 1)        /* Size of table */ 
#define R               (T - 1)                 /* root position */ 
#define MAX_FREQ        0x8000 
} 
                                        /* update when cumulative frequency 
*/ 
                                        /* reaches to this value */ 
typedef unsigned char uchar; 
/* 
* Tables for encoding/decoding upper 6 bits of 
* sliding dictionary pointer 
*/ 
/* encoder table */ 
uchar p_len[64] = { 
        0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 
        0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
        0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 
}; 
uchar p_code[64] = { 
        0x00, 0x20, 0x30, 0x40, 0x50, 0x58, 0x60, 0x68, 
        0x70, 0x78, 0x80, 0x88, 0x90, 0x94, 0x98, 0x9C, 
       0xA0, 0xA4, 0xA8, 0xAC, 0xB0, 0xB4, 0xB8, 0xBC, 
        0xC0, 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 
        0xD0, 0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 
        0xE0, 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 
        0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 
        0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF 
}; 
/* decoder table */ 
uchar d_code[256] = { 
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
        0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
        0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
        0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
        0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
        0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
        0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
        0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
        0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 
        0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 
        0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 
        0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 
        0x0E, 0x0E, 0x0E, 0x0E, 0x0F, 0x0F, 0x0F, 0x0F, 
        0x10, 0x10, 0x10, 0x10, 0x11, 0x11, 0x11, 0x11, 
        0x12, 0x12, 0x12, 0x12, 0x13, 0x13, 0x13, 0x13, 
        0x14, 0x14, 0x14, 0x14, 0x15, 0x15, 0x15, 0x15, 
        0x16, 0x16, 0x16, 0x16, 0x17, 0x17, 0x17, 0x17, 
        0x18, 0x18, 0x19, 0x19, 0x1A, 0x1A, 0x1B, 0x1B, 
        0x1C, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1F, 0x1F, 
        0x20, 0x20, 0x21, 0x21, 0x22, 0x22, 0x23, 0x23, 
        0x24, 0x24, 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 
        0x28, 0x28, 0x29, 0x29, 0x2A, 0x2A, 0x2B, 0x2B, 
        0x2C, 0x2C, 0x2D, 0x2D, 0x2E, 0x2E, 0x2F, 0x2F, 
        0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 
        0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 
}; 
uchar d_len[256] = { 
        0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
        0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
        0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
        0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
        0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
        0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
        0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
        0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
        0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
        0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 
        0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
        0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
        0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
       0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
        0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
        0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 
        0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
        0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
}; 
unsigned freq[T + 1];   /* cumulative freq table */ 
/* 
* pointing parent nodes. 
* area [T..(T + N_CHAR - 1)] are pointers for leaves 
*/ 
int prnt[T + N_CHAR]; 
/* pointing children nodes (son[], son[] + 1)*/ 
int son[T]; 
unsigned getbuf = 0; 
uchar getlen = 0; 
int GetBit(void)        /* get one bit */ 
{ 
        int i; 
        while (getlen <= 8) { 
                if ((i = getc(infile)) < 0) i = 0; 
                getbuf |= i << (8 - getlen); 
                getlen += 8; 
        } 
        i = getbuf; 
        getbuf <<= 1; 
        getlen--; 
        return (i<0); 
} 
int GetByte(void)       /* get a byte */ 
{ 
        long int i; 
        while (getlen <= 8) { 
                if ((i = getc(infile)) < 0) i = 0; 
                getbuf |= i << (8 - getlen); 
                getlen += 8; 
        } 
        i = getbuf; 
        getbuf <<= 8; 
        getlen -= 8; 
        return (i>>8); 
} 
unsigned putbuf = 0; 
uchar putlen = 0; 
void Putcode(int l, unsigned c)         /* output c bits */ 
{ 
        putbuf |= c >> putlen; 
        if ((putlen += l) >= 8) { 
                putc(putbuf >> 8, outfile); 
                if ((putlen -= 8) >= 8) { 
                        putc(putbuf, outfile); 
                        codesize += 2; 
                        putlen -= 8; 
                        putbuf = c << (l - putlen); 
                } else { 
                        putbuf <<= 8; 
                        codesize++; 
                } 
        } 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频香蕉人妖| 成人三级伦理片| 日韩激情视频网站| 亚洲综合自拍偷拍| 亚洲日本va在线观看| 国产欧美日产一区| 国产精品美女一区二区| 中日韩av电影| 国产精品久久久久永久免费观看| 欧美经典一区二区| 国产午夜一区二区三区| 中文字幕第一区二区| 国产精品嫩草影院com| 国产精品电影一区二区| 综合久久综合久久| 亚洲午夜在线电影| 午夜精品免费在线观看| 美日韩一区二区| 激情欧美一区二区| 成人免费视频播放| 色系网站成人免费| 欧美日韩国产三级| 日韩精品一区二区三区在线| 26uuu亚洲综合色欧美| 国产欧美视频一区二区三区| 亚洲素人一区二区| 日韩国产一二三区| 国产美女一区二区| 99re在线精品| 欧美日本一道本| 精品国产1区二区| 国产精品国产精品国产专区不片| 亚洲一区二区视频| 男人的天堂久久精品| 国产成人av一区二区| 99re这里只有精品首页| 欧美丰满少妇xxxbbb| 精品国产一区二区三区四区四| 国产日产欧美一区二区视频| 亚洲色图视频网站| 看片的网站亚洲| 99re这里只有精品视频首页| 欧美精品丝袜中出| 国产欧美日韩卡一| 午夜精品国产更新| 国产精品一区二区无线| 在线中文字幕不卡| 久久综合国产精品| 亚洲一级二级在线| 国产福利一区二区三区视频| 欧美日韩和欧美的一区二区| 久久亚洲一级片| 亚洲综合视频网| 国产麻豆成人精品| 欧美日韩精品高清| 国产精品国产三级国产普通话三级| 五月开心婷婷久久| 91亚洲永久精品| 精品国产污污免费网站入口 | 欧美性xxxxx极品少妇| 日韩三级视频在线观看| 中文字幕一区av| 国产一区欧美二区| 欧美日韩一级视频| 亚洲人成伊人成综合网小说| 久久97超碰国产精品超碰| 91极品美女在线| 中文无字幕一区二区三区| 青青草国产精品97视觉盛宴| 99re热这里只有精品视频| 精品久久久久久久久久久久久久久 | 精品日产卡一卡二卡麻豆| 亚洲精品第1页| 不卡一区二区三区四区| 欧美精品一区二区三区在线| 午夜激情综合网| 91麻豆123| 中文字幕在线观看不卡视频| 韩国三级在线一区| 日韩一区二区在线观看视频| 亚洲成人你懂的| 色婷婷综合视频在线观看| 国产欧美日韩激情| 这里只有精品免费| 亚洲曰韩产成在线| 97久久精品人人澡人人爽| 久久精品亚洲精品国产欧美kt∨ | 久久国产精品一区二区| 欧美日韩国产高清一区二区| 亚洲天堂免费看| 91小视频免费看| 国产精品久久三区| 成人激情免费视频| 国产精品久久久久9999吃药| 国产一区二区导航在线播放| 久久久另类综合| 国产在线一区观看| 欧美一区二区私人影院日本| 午夜av区久久| 欧美老肥妇做.爰bbww| 亚洲国产另类av| 欧美美女一区二区在线观看| 亚洲一二三区在线观看| 欧美日韩色一区| 午夜精品福利久久久| 69久久夜色精品国产69蝌蚪网| 五月婷婷激情综合| 欧美一级日韩免费不卡| 另类的小说在线视频另类成人小视频在线 | 亚洲自拍都市欧美小说| 欧美亚洲国产bt| 亚洲福利一区二区三区| 欧美精品一级二级| 九九精品一区二区| 久久婷婷一区二区三区| 国产成人啪午夜精品网站男同| 欧美精彩视频一区二区三区| www.欧美.com| 亚洲午夜三级在线| 欧美一区二区三区精品| 加勒比av一区二区| 中文字幕成人av| 欧美在线一二三| 蜜桃av一区二区在线观看| 久久久国产精品午夜一区ai换脸| 中文字幕va一区二区三区| va亚洲va日韩不卡在线观看| 亚洲欧美经典视频| 91麻豆精品91久久久久久清纯| 精品一区二区免费在线观看| 亚洲国产成人在线| 欧美在线免费视屏| 美日韩黄色大片| 久久久亚洲精品石原莉奈 | 久久精品视频网| 97久久超碰国产精品| 日韩和的一区二区| 国产欧美一区二区精品性色超碰| 91在线国产福利| 免费成人深夜小野草| 国产日韩欧美不卡| 欧美三级视频在线| 国产剧情在线观看一区二区| 一区二区国产视频| 日韩欧美国产不卡| av爱爱亚洲一区| 天天av天天翘天天综合网 | 亚洲成人午夜影院| 久久夜色精品国产噜噜av| 色综合亚洲欧洲| 日本不卡一二三区黄网| 国产精品免费丝袜| 51午夜精品国产| 成人免费视频视频| 久久成人免费日本黄色| voyeur盗摄精品| 精品无码三级在线观看视频 | 91亚洲资源网| 久久99精品久久久久久动态图| 亚洲美女免费在线| 久久久久久一二三区| 欧美图片一区二区三区| 高清shemale亚洲人妖| 亚洲一级片在线观看| 国产拍欧美日韩视频二区| 欧美写真视频网站| 成人丝袜视频网| 九色综合狠狠综合久久| 一区二区三区四区在线免费观看| 久久久美女艺术照精彩视频福利播放| 日本精品免费观看高清观看| 国产69精品久久99不卡| 日日夜夜精品视频免费| 1024国产精品| 国产婷婷色一区二区三区| 91麻豆精品国产91久久久久| 91麻豆.com| 成人黄色大片在线观看| 国产一区二区三区四区在线观看| 天堂av在线一区| 亚洲精品视频观看| 国产精品视频一二三区 | 天堂在线亚洲视频| 一区二区三区精品视频在线| 国产精品女人毛片| 国产精品1区2区3区| 首页综合国产亚洲丝袜| 一区二区免费在线播放| 亚洲精品乱码久久久久久| 国产精品亲子伦对白| 久久新电视剧免费观看| 精品美女被调教视频大全网站| 在线播放国产精品二区一二区四区| 色94色欧美sute亚洲线路一久| 99久久国产综合精品女不卡| 99精品一区二区| av激情亚洲男人天堂| 成人高清视频免费观看| 成人毛片老司机大片| 成人免费视频播放|