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

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

?? lzwtable.cpp

?? 字典編碼的一種
?? CPP
字號:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"  
#include "string.h"
#include "memory.h"         
#include "conio.h"
#include "lzwcode.h"
#include "lzwtable.h"

/*
class CLZWEncodeTable
*/
CLZWDecodeTable::CLZWDecodeTable(BOOL fInit)
{
	m_pbContain=NULL;
	m_dwTableEntryNumber=0;
	if(fInit)
		InitLZWTable();
}
CLZWDecodeTable::~CLZWDecodeTable()
{
	ClearDecodeTable();
}
void CLZWDecodeTable::ClearDecodeTable(void)
{   
	if(m_pbContain==NULL)
		return;
	for(int i=0;i<4096;i++)
	{
		if(m_pbContain[i])
			delete (m_pbContain[i]);
	}
	delete m_pbContain;
	m_pbContain=NULL;
	m_dwTableEntryNumber=0;
}
void CLZWDecodeTable::InitLZWTable(void)
{
	ClearDecodeTable();
	m_pbContain=new BYTE*[4096];
	int iSize=sizeof(m_pbContain);
	//if(NULL==m_pbContain)
	//	AfxMessageBox("error new m_pbContain=BYTE*[4096]");
	for(int i=0;i<4096;i++)
	{
		m_pbContain[i]=NULL;
	}
	for(i=0;i<=255;i++)
	{
		m_pbContain[i]=new BYTE[1+2];
		*((WORD*)m_pbContain[i])=1;
		m_pbContain[i][2]=(BYTE)i;
	}
	m_dwTableEntryNumber=LZW_BEGIN_ENTRY;
}
BYTE* CLZWDecodeTable::GetMatchData(WORD wCode)
{
	return m_pbContain[wCode];
}
void CLZWDecodeTable::AddToChild(WORD wCode,BYTE *pbContain,int iLength)
{
	ASSERT(wCode<4096);
	if(m_pbContain[wCode])
		delete m_pbContain[wCode];
	m_pbContain[wCode]=new BYTE[iLength+2];
	*((WORD*)m_pbContain[wCode])=(WORD)iLength;
	memcpy(m_pbContain[wCode]+2,pbContain,iLength);
}

/*
class CLZWEncodeTable
*/
CLZWEncodeTable::CLZWEncodeTable(BOOL fInit)
{
	if(fInit)
		InitLZWTable();
	else
	{
		m_dwTableEntryNumber=0;
		m_EntryHead.pRightBrother=NULL;
		m_EntryHead.pChild=NULL;
	}
}
CLZWEncodeTable::~CLZWEncodeTable()
{
	ClearLZWTable();
}
void CLZWEncodeTable::ClearLZWTable(void)
{
	if(m_EntryHead.pChild==NULL)
		return;
	m_dwTableEntryNumber=0;
	int iRe=0;
	while(m_EntryHead.pChild)
	{
		RemoveFirstChild();
		iRe++;
		//printf("remove %d\n",++iRe);;
	}
}
void CLZWEncodeTable::RemoveFirstChild(void)
{
	PLZWENCODEENTRY pFirstChild=m_EntryHead.pChild;// this child will be removed
	if(pFirstChild->pChild)
	{
		m_EntryHead.pChild=pFirstChild->pChild;
		if(m_EntryHead.pChild->pRightBrother)
		{
			PLZWENCODEENTRY pRightBrother=FindRightBrother(m_EntryHead.pChild);
			pRightBrother->pRightBrother=pFirstChild->pRightBrother;
		}
		else
			(m_EntryHead.pChild)->pRightBrother=pFirstChild->pRightBrother;
		//delete pFirstChild;
	}
	else
		m_EntryHead.pChild=pFirstChild->pRightBrother;
	delete pFirstChild;
}
PLZWENCODEENTRY CLZWEncodeTable::FindRightBrother(PLZWENCODEENTRY pCurrent)
{
	PLZWENCODEENTRY pFind;
	pFind=pCurrent;
	while(pFind->pRightBrother)
	{
		pFind=pFind->pRightBrother;
	}
	return pFind;
}
void CLZWEncodeTable::InitLZWTable(void)
{// init the table ,it has 256 items code from 0 to 255
	ClearLZWTable();
	PLZWENCODEENTRY pEntryFirst=new LZWENCODEENTRY;
	pEntryFirst->wCode=(WORD)0;
	pEntryFirst->bLast=(BYTE)0;
	pEntryFirst->pRightBrother=pEntryFirst->pChild=NULL;
	m_EntryHead.pChild=pEntryFirst;
	m_EntryHead.pRightBrother=NULL;
	PLZWENCODEENTRY pPrev=pEntryFirst;
	for(int i=1;i<=255;i++)
	{// set the brother nodes
		PLZWENCODEENTRY pEntry=new LZWENCODEENTRY;
		pEntry->wCode=(WORD)i;
		pEntry->bLast=(BYTE)i;
		pEntry->pChild=pEntry->pRightBrother=NULL;
		pPrev->pRightBrother=pEntry;
		pPrev=pEntry;
	}
	m_dwTableEntryNumber=258;
	m_uNextCodeForUse=LZW_BEGIN_ENTRY;
}
PLZWENCODEENTRY CLZWEncodeTable::FindMatchChild(BYTE bChildLast,PLZWENCODEENTRY pCurrent)
{// return the find child entry
	if(pCurrent->pChild==NULL)
		return NULL;
	PLZWENCODEENTRY pChild=pCurrent->pChild;
	// pChild is the current's child
	// and all pChild's brother is the current's child
	while(pChild!=NULL)
	{
		if(pChild->bLast==bChildLast)
			return pChild;
		pChild=pChild->pRightBrother;
	}
	return NULL;
}
PLZWENCODEENTRY CLZWEncodeTable::AddToChild(BYTE bLast,PLZWENCODEENTRY pCurrent)
{
	ASSERT(pCurrent);
	PLZWENCODEENTRY pChild=new LZWENCODEENTRY;
	if(pChild==NULL)
	{
		int _j=0;
	}
	pChild->pChild=pChild->pRightBrother=NULL;
	pChild->bLast=bLast;
	pChild->wCode=(WORD)m_uNextCodeForUse;
	if(pChild->wCode==LZW_CLEAR_CODE)
	{
		int _i=0;
	}
	m_uNextCodeForUse++;
	m_dwTableEntryNumber++;
	pChild->pRightBrother=pCurrent->pChild;
	pCurrent->pChild=pChild;
	return pChild;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品无遮挡| 成人免费视频免费观看| 国内精品嫩模私拍在线| 色婷婷国产精品| 久久综合国产精品| 丝袜亚洲另类欧美综合| 一本大道久久a久久综合| 亚洲精品在线一区二区| 婷婷综合五月天| 91丨porny丨蝌蚪视频| 久久亚洲二区三区| 日本欧美一区二区三区乱码| 日本伦理一区二区| 综合激情成人伊人| 国产成人啪午夜精品网站男同| 日韩一级黄色片| 亚洲第一激情av| 在线中文字幕一区| 国产精品国产三级国产普通话三级 | 国产免费成人在线视频| 麻豆精品一区二区三区| 欧美肥妇毛茸茸| 亚洲国产综合人成综合网站| 欧美一区二视频| 污片在线观看一区二区| 欧美午夜精品免费| 亚洲精品免费视频| 在线观看一区不卡| 亚洲一卡二卡三卡四卡| 色呦呦网站一区| 亚洲精品ww久久久久久p站| 成人激情图片网| 国产精品久久久久久久久搜平片| 国产成人亚洲综合a∨婷婷| 久久久一区二区| 国产大片一区二区| 国产精品欧美久久久久一区二区| 成人丝袜视频网| 国产精品色呦呦| 99久久精品免费看| 一区二区国产视频| 欧美视频自拍偷拍| 久久精品二区亚洲w码| 精品三级在线看| 国产精品综合在线视频| 中文字幕一区二区在线播放| 一本大道久久精品懂色aⅴ| 亚洲www啪成人一区二区麻豆 | 92国产精品观看| 亚洲美女区一区| 在线播放中文一区| 国模一区二区三区白浆| 国产精品国产a| 色婷婷一区二区三区四区| 亚洲一二三区不卡| 精品国内片67194| 韩国三级在线一区| 亚洲三级免费电影| 欧美日韩夫妻久久| 韩国av一区二区三区| 亚洲男人天堂av网| 日韩一区二区免费视频| 成人性色生活片| 亚州成人在线电影| 中文字幕高清一区| 欧美亚一区二区| 韩国女主播一区| 一区二区三区 在线观看视频| 欧美一区二区在线看| a亚洲天堂av| 免费成人av在线播放| 国产精品久久久久久久浪潮网站| 91精品国产手机| 99久久夜色精品国产网站| 日韩电影网1区2区| 亚洲欧美在线视频| 久久蜜桃av一区二区天堂| 欧美无乱码久久久免费午夜一区| 国产中文一区二区三区| 亚洲香肠在线观看| 中日韩av电影| 精品成人一区二区三区| 欧美日韩国产一级| 99久久亚洲一区二区三区青草| 青青草一区二区三区| 亚洲欧美日韩小说| 国产精品午夜在线观看| 精品国产乱码久久| 正在播放亚洲一区| 在线观看欧美精品| 99久久综合国产精品| 国产盗摄一区二区| 精品在线免费观看| 亚洲图片欧美一区| 亚洲欧美视频在线观看视频| 国产欧美日韩精品一区| 久久久九九九九| 精品久久久网站| 8x8x8国产精品| 欧美日本一道本在线视频| 99久久免费国产| 国产精品99久久久久久久女警| 日韩电影网1区2区| 丝袜诱惑制服诱惑色一区在线观看| 一区二区三区在线视频免费观看| 中文文精品字幕一区二区| 国产日本欧美一区二区| 26uuu国产在线精品一区二区| 欧美一级欧美一级在线播放| 在线播放欧美女士性生活| 在线观看网站黄不卡| 色视频欧美一区二区三区| 91成人免费网站| 在线观看区一区二| 在线不卡的av| 日韩一二三区不卡| 精品国产91久久久久久久妲己| 久久亚洲精品国产精品紫薇| 国产欧美综合色| 国产精品久久一级| 亚洲欧美日韩国产一区二区三区| 亚洲女同女同女同女同女同69| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产欧美综合色| 亚洲精品成人天堂一二三| 亚洲一区二区高清| 日本中文在线一区| 国产一区二区三区| 成人av电影在线| 在线免费观看成人短视频| 欧美电影一区二区| 久久中文娱乐网| 中文字幕一区二区三区av| 一区二区三区在线观看欧美| 亚洲久草在线视频| 天堂资源在线中文精品| 美国十次综合导航| 成人av免费网站| 欧美日本高清视频在线观看| 日韩精品一区二区三区swag| 国产精品成人一区二区三区夜夜夜| 亚洲私人黄色宅男| 日产精品久久久久久久性色 | 男男视频亚洲欧美| 国产91精品露脸国语对白| 91久久精品一区二区二区| 日韩三区在线观看| 亚洲欧美综合色| 美国毛片一区二区三区| 99v久久综合狠狠综合久久| 欧美日本一区二区在线观看| 欧美国产一区二区| 丝袜a∨在线一区二区三区不卡| 国产一区二区免费看| 欧美一a一片一级一片| 久久久久久99精品| 亚洲国产精品自拍| 高清国产一区二区| 666欧美在线视频| 国产精品久久久久久一区二区三区 | 精品88久久久久88久久久| 亚洲美女视频在线观看| 九九国产精品视频| 欧美性大战久久| 中文字幕不卡的av| 久久成人久久爱| 欧美亚洲一区二区在线| 中文字幕免费不卡在线| 久久国产人妖系列| 欧美日韩国产在线观看| 亚洲人妖av一区二区| 国产精品一区专区| 精品美女在线播放| 免费国产亚洲视频| 欧美日韩一区高清| 一区二区日韩电影| 95精品视频在线| 国产精品网友自拍| 国产精品伊人色| 日韩一区二区三区四区五区六区| 亚洲无人区一区| 日本乱码高清不卡字幕| 亚洲欧洲av色图| 成人黄色大片在线观看| 国产清纯白嫩初高生在线观看91 | 色综合一个色综合亚洲| 国产精品人成在线观看免费| 激情文学综合网| 欧美成人高清电影在线| 蜜桃视频免费观看一区| 欧美一区二视频| 日本不卡中文字幕| 欧美精品久久天天躁| 日欧美一区二区| 欧美精品自拍偷拍| 日本成人在线电影网| 日韩免费电影网站| 精品一区二区三区香蕉蜜桃| 久久综合久久综合亚洲| 国产精品一二三在|