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

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

?? huffman_base.cpp

?? 哈腹?jié)M編碼
?? CPP
字號(hào):
#include "huffman_base.h"int huffman_base::get_code_len(int index){	check();	if (index < 0 || index >= (int)code_lens.size())		throw new huffman_exception("參數(shù)非法");	return code_lens[index];}vector<int> huffman_base::get_all_code_lens(void){	check();	return code_lens;}unsigned long huffman_base::get_code(int index){	check();	if (index < 0 || index >= (int)codes.size())		throw new huffman_exception("參數(shù)非法");	return codes[index];}vector<unsigned long> huffman_base::get_all_codes(void){	check();	return codes;}string huffman_base::get_code_str(int index){	check();	if (index < 0 || index >= (int)codes.size())		throw new huffman_exception("參數(shù)非法");	return long_to_string(codes[index], code_lens[index]);}vector<string> huffman_base::get_all_code_strs(void){	check();	vector<string> v;	for(int i = 0; i < (int)codes.size(); i++)		v.push_back(long_to_string(codes[i], code_lens[i]));	return v;}int huffman_base::find(unsigned long code){	check();	for(int i = 0; i < (int)codes.size(); i++)		if (codes[i] == code)			return i;	return -1;}int huffman_base::find(const string& code){	return find(string_to_long(code.c_str()));}inline void huffman_base::check(){	if (codes.size() <= 0)		throw new huffman_exception("尚未調(diào)用過generate_codes()");}unsigned long huffman_base::string_to_long(const char* code){	unsigned long ret = 0;	int len = (int)strlen(code);	for(int i = len - 1; i >= 0; i--)		if (code[i] == '1')			ret |= (1ul << (len - i - 1));	return ret;}string huffman_base::long_to_string(unsigned long code, int code_len){	char* buf = new char[code_len + 1];	if (buf == NULL)		throw new huffman_exception("no enough memory.");	memset(buf, 0, code_len + 1);	unsigned long bit = 1 << (code_len - 1);	for(int i = 0; i < code_len; i++)	{		if (code & bit)			buf[i] = '1';		else			buf[i] = '0';		bit >>= 1;	}	string ret(buf); delete buf;	return ret;}void huffman_base::generate_canonical_codes(){	if (code_lens.size() <= 0)		throw new huffman_exception("生成Canonical Huffman編碼前,應(yīng)已知所有元素碼長");	int max_code_len = 0;	int min_code_len = 1000;	const int tmp = sizeof(unsigned long) * 8 + 1;	int len_count[tmp];	unsigned long min_code[tmp];	memset(len_count, 0, tmp * sizeof(int));	memset(min_code, 0, tmp * sizeof(unsigned long));	int num = (int)code_lens.size();	// 統(tǒng)計(jì)碼長信息	for (int i = 0; i < num; i++)	{		int codelen = code_lens[i];		// huffman_base用unsigned long存儲(chǔ)編碼,因此		// 碼長要限制在sizeof(unsigned long)*8以內(nèi)		// 這里對(duì)超長的編碼都簡單忽略掉了		if ((unsigned long)codelen > sizeof(unsigned long)*8)			continue;		if (codelen > max_code_len)			max_code_len = codelen;		if (codelen < min_code_len)			min_code_len = codelen;		len_count[codelen]++;	}		// 計(jì)算特定碼長的所有元素中最小的編碼,這里使用的是	// Canonical Huffman編碼規(guī)則,請(qǐng)參見相關(guān)文獻(xiàn)	for (int i = max_code_len - 1; i >= 0; i--)		min_code[i]	= (min_code[i +	1] + len_count[i + 1]) >> 1;	// 已知特定碼長的所有元素中最小的編碼,同樣碼長的元素,	// 編碼逐個(gè)加1就可以了	codes.clear();	for (int i = 0; i < num; i++)		if (code_lens[i] > 0 && (unsigned long)code_lens[i] <= sizeof(unsigned long)*8)			codes.push_back(min_code[code_lens[i]]++);		else			codes.push_back(0);}bool huffman_base::verify(){	check();		int max = 0;	const int code_len_limit = 100; // 這里能檢驗(yàn)的最大碼長是100	int len_count[code_len_limit + 1];	memset(len_count, 0, sizeof(int)*(code_len_limit+1));	for(int i = 0; i < (int)code_lens.size(); i++)	{		if (code_lens[i] > code_len_limit)			return true; // 如果有超長碼,就不檢驗(yàn)了		len_count[code_lens[i]]++;		if (code_lens[i] > max) max = code_lens[i];	}	// 從根開始,算每層分支結(jié)點(diǎn)數(shù)目,如果最后一層不為0,就表明Huffman樹有錯(cuò)誤	int nonleaf = 1;	for(int i = 1; i <= max; i++)		nonleaf = nonleaf * 2 - len_count[i];	return (nonleaf == 0);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品影音先锋| 中文字幕在线播放不卡一区| 亚洲国产一区二区a毛片| 91浏览器入口在线观看| 亚洲精品久久久久久国产精华液 | 激情成人综合网| www国产亚洲精品久久麻豆| 国产中文一区二区三区| 国产三级三级三级精品8ⅰ区| 成人精品一区二区三区四区| 亚洲精品国产一区二区精华液| 欧洲在线/亚洲| 看片的网站亚洲| 国产日韩欧美不卡| 91视频国产观看| 香蕉av福利精品导航| 国产一区二区三区四区五区美女| 欧美美女bb生活片| 久久99热99| 中文字幕一区二区三区乱码在线| 欧美亚洲国产bt| 九九精品视频在线看| 欧美激情一区二区三区四区| 在线观看一区日韩| 久久99精品久久久久婷婷| 国产欧美日韩不卡| 91国产免费观看| 美女网站色91| 亚洲视频香蕉人妖| 日韩一区二区三区四区| www.色精品| 日韩**一区毛片| 国产精品高潮久久久久无| 欧美肥妇free| 91在线你懂得| 国产一区二区成人久久免费影院| 亚洲女同一区二区| 精品动漫一区二区三区在线观看| 91视频在线观看| 精品在线免费视频| 一二三四区精品视频| 久久久精品影视| 91精品国产综合久久久久久漫画 | 成人sese在线| 丝瓜av网站精品一区二区| 久久精品亚洲一区二区三区浴池| 欧美老女人在线| av综合在线播放| 国产美女av一区二区三区| 亚洲第一福利视频在线| 亚洲欧洲日韩女同| 久久久一区二区三区| 67194成人在线观看| 一本大道久久a久久综合婷婷| 精品一区二区三区在线观看| 午夜国产精品一区| 玉足女爽爽91| 亚洲欧美综合在线精品| 国产偷国产偷亚洲高清人白洁| 欧美男同性恋视频网站| 色综合色综合色综合 | 亚洲欧美在线高清| 久久久综合网站| 精品久久久久久久人人人人传媒 | 国内精品国产成人国产三级粉色| 亚洲一区二区精品视频| 亚洲欧美成人一区二区三区| 国产视频一区二区在线观看| 精品久久人人做人人爽| 日韩欧美一级在线播放| 欧美一级黄色片| 91精品久久久久久蜜臀| 欧美久久久久中文字幕| 欧美色图12p| 在线免费av一区| 色综合天天综合网天天看片| 99久久综合99久久综合网站| 成人毛片老司机大片| 成人av网站在线观看免费| 成人性生交大片免费看中文| 国产aⅴ综合色| 成人一道本在线| 不卡电影一区二区三区| 91香蕉国产在线观看软件| 色综合久久久网| 欧美三区在线观看| 在线不卡一区二区| 欧美一区二区在线视频| 日韩欧美成人一区二区| 久久精品网站免费观看| 欧美国产精品一区二区三区| 国产精品免费aⅴ片在线观看| 国产精品免费丝袜| 亚洲欧美日韩小说| 午夜精品久久久久久久久| 日本人妖一区二区| 国产成人亚洲综合a∨婷婷图片| 国产91精品欧美| 色婷婷综合久久久中文一区二区| 在线看国产一区| 日韩欧美电影在线| 中文字幕免费不卡| 一区二区三区视频在线看| 五月天欧美精品| 九九**精品视频免费播放| 国产成人夜色高潮福利影视| 一本到三区不卡视频| 91麻豆精品国产91久久久久久| 久久久亚洲精品石原莉奈| 国产精品传媒入口麻豆| 亚洲电影第三页| 国内一区二区在线| 94-欧美-setu| 欧美一区二区三区在线| 国产目拍亚洲精品99久久精品| 一区二区三区在线观看视频| 免费观看久久久4p| 不卡的av中国片| 欧美精品一卡两卡| 国产精品久久久久久久蜜臀 | 91丝袜呻吟高潮美腿白嫩在线观看| 欧美三级日本三级少妇99| 国产午夜精品一区二区三区四区| 136国产福利精品导航| 日韩福利电影在线| 99久久伊人精品| 欧美大片在线观看| 亚洲欧美日韩中文字幕一区二区三区| 麻豆成人免费电影| 色域天天综合网| 亚洲精品一区二区精华| 一区二区三区在线视频播放| 国产精品自拍av| 欧美一区二区三区四区久久| 国产精品三级电影| 美女一区二区视频| 欧美三级欧美一级| 亚洲欧洲精品一区二区三区 | 9久草视频在线视频精品| 日韩欧美一区二区视频| 亚洲综合图片区| 波多野结衣亚洲| 精品国产乱码久久久久久牛牛| 亚洲综合一区二区三区| 国产a久久麻豆| 久久只精品国产| 日韩av成人高清| 欧美性感一类影片在线播放| 国产精品久久久久久久久动漫| 久久99精品久久久久婷婷| 777a∨成人精品桃花网| 亚洲精品欧美专区| 成人av第一页| 欧美国产一区在线| 国产盗摄女厕一区二区三区| 日韩小视频在线观看专区| 日韩黄色免费网站| 欧美色图激情小说| 亚洲综合成人在线| 欧美在线观看视频一区二区三区| 国产精品美女一区二区在线观看| 国产在线不卡一区| 久久先锋影音av鲁色资源网| 美洲天堂一区二卡三卡四卡视频| 欧美精品tushy高清| 亚洲一区二区免费视频| 在线看国产日韩| 亚洲一区在线电影| 欧美色男人天堂| 视频一区二区不卡| 日韩一区和二区| 免费成人你懂的| 精品日本一线二线三线不卡| 激情六月婷婷综合| 久久人人超碰精品| 国产不卡高清在线观看视频| 中文无字幕一区二区三区| 不卡av在线免费观看| 亚洲色图欧美在线| 在线免费不卡视频| 五月激情综合婷婷| 欧美不卡视频一区| 国产在线看一区| 欧美激情一区二区在线| 99精品国产91久久久久久| 亚洲日本va在线观看| 在线观看欧美精品| 无码av免费一区二区三区试看 | 成人丝袜18视频在线观看| 中文字幕中文在线不卡住| 色视频成人在线观看免| 亚洲国产精品影院| 日韩一本二本av| 丁香婷婷综合激情五月色| 亚洲色图20p| 日韩丝袜情趣美女图片| 国产精品一区二区久激情瑜伽| 亚洲三级理论片| 7878成人国产在线观看| 国产91清纯白嫩初高中在线观看 |