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

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

?? nodemgr.cpp

?? 計算機英漢機器翻譯系統(tǒng)中的英語詞性標注方法實現(xiàn)
?? CPP
字號:
// Copyright 1993 Nildram Software. All rights reserved.
// May not be copied, except for backup purposes, without express written
// permission from Nildram Software
#include "stdafx.h"
#include <stdlib.h>

#include "nodemgr.h"

NodeMgr::NodeMgr(int nBlockSize, int itsize)
{
	if (itsize == 0)
	{
		AfxMessageBox("Error: Index Item Size Is Zero!");
		ASSERT(FALSE);
		exit(0);
	}
	m_nIndexSize = itsize + 4;
	m_nKeyWordSize = itsize;
	m_nBlockRecNum = (nBlockSize - 16) / m_nIndexSize; // 16 is the block header size

	m_plPointersOfBlock = new long[m_nBlockRecNum];
	m_pszKeyWordsOfBlock = new char *[m_nBlockRecNum];
	for (int x = 0; x < m_nBlockRecNum; x++)
		m_pszKeyWordsOfBlock[x] = new char[m_nIndexSize];
	m_lLeftNode = -1;
	m_lRightNode = -1;
	m_cItemNum = 0;
	m_nCurrItemPtr = -1;
	m_cBuffLabel = stLeaf;
}

NodeMgr::~NodeMgr(void)
{
	for (int x = 0; x < m_nBlockRecNum; x++)
		delete m_pszKeyWordsOfBlock[x];
	delete m_pszKeyWordsOfBlock;
	delete m_plPointersOfBlock;
}

void NodeMgr::read_data(char *buffer)
{
	char *strptr = buffer;
	m_lLeftNode = *((long *)strptr);
	strptr += 4;
	m_lRightNode = *((long *)strptr);
	strptr += 4;
	m_cItemNum = *((short *)strptr);
	strptr += 2;
	m_cBuffLabel = *((short *)strptr);
	strptr += 2;
	m_lSeemNoUse = *((long *)strptr);
	strptr += 4;
	for (int x = 0; x < m_cItemNum; x++)
	{
		m_plPointersOfBlock[x] = *((long *)strptr);
		strptr += 4;
		memcpy(m_pszKeyWordsOfBlock[x], strptr, m_nKeyWordSize);
		strptr += m_nKeyWordSize;
	}
	m_nCurrItemPtr = -1;
}

void NodeMgr::write_data(char *buffer)
{
	char *strptr = buffer;
	*((long *)strptr) = m_lLeftNode;
	strptr += 4;
	*((long *)strptr) = m_lRightNode;
	strptr += 4;
	*((short *)strptr) = m_cItemNum;
	strptr += 2;
	*((short *)strptr) = m_cBuffLabel;
	strptr += 2;
	*((long *)strptr) = ++m_lSeemNoUse;
	strptr += 4;

	static int nSmall8 = 0;
	static int nBig8 = 0;
	if ( m_cItemNum > 8 ) {
		nSmall8 ++;
	} else {
		nBig8 ++;
	}

	for ( int x = 0; x < m_cItemNum; x++ )
	{
		*((long *)strptr) = m_plPointersOfBlock[x];
		strptr += 4;
		memcpy(strptr, m_pszKeyWordsOfBlock[x], m_nKeyWordSize);
		strptr += m_nKeyWordSize;
	}
}


int NodeMgr::erase(int itemno)
{
	if ( m_cItemNum <= 1 )
	{
		m_cItemNum = 0;
		return noEmpty;
	}
	if ( itemno == -1 )
		itemno = m_nCurrItemPtr;
	if ( itemno < 0 || itemno >= m_cItemNum )
		return noNoSelect;
	char *tmpptr = m_pszKeyWordsOfBlock[itemno];
	for ( int x = itemno + 1; x < m_cItemNum; x++ )
	{
		m_pszKeyWordsOfBlock[x - 1] = m_pszKeyWordsOfBlock[x];
		m_plPointersOfBlock[x - 1] = m_plPointersOfBlock[x];
	}
	m_pszKeyWordsOfBlock[m_cItemNum - 1] = tmpptr;
	m_cItemNum--;
	if ( m_nCurrItemPtr >= itemno )
		m_nCurrItemPtr--;

	return 0;
}

int NodeMgr::insert(long ptr, char *pszKeyWord)
{
	int x = 0;
	if ( m_cItemNum > 0 )
	{
		x = getpos(pszKeyWord, 0, m_cItemNum - 1);
		if ( x != -1 )
		{
			if (memcmp(pszKeyWord, m_pszKeyWordsOfBlock[x], m_nKeyWordSize) == 0)
				//if (memcmp(pszKeyWord, m_pszKeyWordsOfBlock[x], m_nKeyWordSize) == 0)
				return noDuplicate;
		}
		else
			x = m_cItemNum;
	}

	char *tmpptr = m_pszKeyWordsOfBlock[m_cItemNum];
	for ( int y = m_cItemNum; y > x; y-- )
	{
		m_pszKeyWordsOfBlock[y] = m_pszKeyWordsOfBlock[y - 1];
		m_plPointersOfBlock[y] = m_plPointersOfBlock[y - 1];
	}
	m_pszKeyWordsOfBlock[x] = tmpptr;
	m_plPointersOfBlock[x] = ptr;
	memcpy(m_pszKeyWordsOfBlock[x], pszKeyWord, m_nKeyWordSize);
	if ( ++m_cItemNum == m_nBlockRecNum )
		return noFull;
	return 0;
}

int NodeMgr::getpos(char *pszKeyWord, int start, int stop)
{
	for (;;)
	{
		int checkpos = (start + stop) / 2;
		int cmp = memcmp(pszKeyWord, m_pszKeyWordsOfBlock[checkpos], m_nKeyWordSize);
		if (cmp == 0)
			return checkpos;
		if (cmp < 0)
			if (checkpos == start)
				return checkpos;
			else
			{
				stop = checkpos;
				continue;
			}
		else
			if (start == stop)
				return -1;
			else
			{
				start = checkpos + 1;
				continue;
			}
	}
}

long NodeMgr::find(char *pszKeyWord)
{
	if (m_cItemNum > 0)
	{
		int x = getpos(pszKeyWord, 0, m_cItemNum - 1);
		if (x != -1)
		{
			m_nCurrItemPtr = x;
			return m_plPointersOfBlock[x];
		}
		if (m_cBuffLabel == stLeaf)
		{
			m_nCurrItemPtr = m_cItemNum; 
			return -1;
		}
		m_nCurrItemPtr = m_cItemNum - 1;
		return m_plPointersOfBlock[m_cItemNum - 1];
	}
	return -1;
}

long NodeMgr::ffwd_core(void)
{
	if (m_cItemNum > 0)
	{
		if (m_cBuffLabel == stLeaf)
		{
			m_nCurrItemPtr = m_cItemNum; 
			return -1;
		}
		m_nCurrItemPtr = m_cItemNum - 1;
		return m_plPointersOfBlock[m_cItemNum - 1];
	}
	return -1;
}

long NodeMgr::retrieve(void)
{
	if (m_nCurrItemPtr >= m_cItemNum || m_nCurrItemPtr < 0)
		return -1;
	return m_plPointersOfBlock[m_nCurrItemPtr];
}

long NodeMgr::next(void)
{
    if (m_nCurrItemPtr == m_cItemNum - 1)
        m_nCurrItemPtr++;
    if (m_nCurrItemPtr > m_cItemNum - 1)
        return -1;
    return m_plPointersOfBlock[++m_nCurrItemPtr];
}

long NodeMgr::prev(void)
{
    if (m_nCurrItemPtr == 0)
        m_nCurrItemPtr--;
    if (m_nCurrItemPtr < 0)
        return -1;
    return m_plPointersOfBlock[--m_nCurrItemPtr];
}

void NodeMgr::reset(int st)
{
	m_lLeftNode = -1;
	m_lRightNode = -1;
	m_nCurrItemPtr = -1;
	m_cItemNum = 0;
	m_cBuffLabel = st;
	m_lSeemNoUse = 0;
}

void NodeMgr::split(char *block1, char *block2)
{
	int tmp_items = m_cItemNum;
	m_cItemNum /= 2;
	write_data(block1);
	m_cItemNum = tmp_items;
	for (int x = 0; x < tmp_items / 2; x++)
		erase(0);
	write_data(block2);
}


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
thepron国产精品| 免费国产亚洲视频| 91丨九色porny丨蝌蚪| 日韩理论片网站| 在线免费观看一区| 午夜亚洲国产au精品一区二区| 欧美三区在线观看| 蜜臀a∨国产成人精品| 精品国产自在久精品国产| 国产电影一区二区三区| 国产精品久久久久一区二区三区 | 亚洲精品一区二区三区蜜桃下载| 久久精品99久久久| 国产人成一区二区三区影院| 99久久99久久精品国产片果冻| 亚洲午夜激情网页| 精品久久99ma| 91亚洲永久精品| 日本人妖一区二区| 国产日韩成人精品| 欧美色中文字幕| 国产一区二区主播在线| 亚洲情趣在线观看| 日韩午夜小视频| 99re热这里只有精品免费视频| 亚洲不卡在线观看| 久久久精品免费网站| 日本高清不卡aⅴ免费网站| 免费不卡在线视频| 亚洲欧洲性图库| 欧美大片在线观看一区二区| 不卡免费追剧大全电视剧网站| 亚洲地区一二三色| 国产精品免费久久| 欧美一区二区成人6969| 99精品视频在线观看免费| 日本最新不卡在线| 17c精品麻豆一区二区免费| 51精品视频一区二区三区| 不卡影院免费观看| 麻豆精品一区二区| 亚洲综合色成人| 国产精品色婷婷久久58| 欧美一区二区三区在线观看视频| 99re6这里只有精品视频在线观看| 免费成人在线播放| 亚洲综合免费观看高清完整版| 国产日韩三级在线| 日韩一区二区三区电影| 91精彩视频在线观看| 国产成人三级在线观看| 琪琪久久久久日韩精品| 亚洲一区二区三区影院| 中文字幕制服丝袜成人av| 久久综合网色—综合色88| 777奇米四色成人影色区| 色偷偷久久人人79超碰人人澡| 国产精品亚洲成人| 免费观看在线色综合| 午夜欧美大尺度福利影院在线看| 亚洲欧洲av另类| 国产精品麻豆欧美日韩ww| 26uuu国产日韩综合| 日韩一区二区三区高清免费看看 | 国产成人午夜电影网| 六月丁香婷婷色狠狠久久| 亚洲成人av资源| 日本不卡在线视频| 天天色综合天天| 午夜精品久久久久久久久| 一区二区在线观看不卡| 亚洲四区在线观看| 综合av第一页| 亚洲欧美日韩一区二区 | 久久国产精品色| 日韩不卡一区二区| 日韩在线a电影| 秋霞午夜鲁丝一区二区老狼| 婷婷成人激情在线网| 午夜精品久久久久久久99水蜜桃 | 成人综合在线网站| 国产+成+人+亚洲欧洲自线| 国产69精品久久久久777| 丁香一区二区三区| 99在线精品视频| 91女神在线视频| 日本韩国欧美三级| 欧美日韩在线观看一区二区| 欧美日韩一卡二卡| 欧美精品99久久久**| 日韩色视频在线观看| 精品少妇一区二区三区视频免付费| 欧美成人一区二区| 国产亚洲一区二区在线观看| 日本一区二区三区国色天香| 国产精品欧美经典| 亚洲综合免费观看高清完整版| 亚洲aaa精品| 久草在线在线精品观看| 成人综合婷婷国产精品久久蜜臀| kk眼镜猥琐国模调教系列一区二区 | 亚洲精品欧美激情| 视频一区免费在线观看| 欧美四级电影在线观看| 日韩一区二区三区三四区视频在线观看| 欧美一级理论片| 国产喷白浆一区二区三区| 一区二区三区四区视频精品免费| 亚洲成人7777| 国产精品一区二区果冻传媒| 色综合一个色综合亚洲| 欧美精品久久天天躁| 久久久久久9999| 亚洲黄色小说网站| 久久av老司机精品网站导航| av不卡在线播放| 91精品国产日韩91久久久久久| 国产欧美日韩视频在线观看| 亚洲国产精品一区二区久久| 久久99精品久久久久久| 99久久婷婷国产综合精品| 欧美欧美欧美欧美首页| 国产欧美日韩另类一区| 视频在线观看一区| a4yy欧美一区二区三区| 日韩视频在线一区二区| 亚洲精品v日韩精品| 国产精品一卡二| 欧美精品一卡两卡| 自拍偷拍欧美激情| 国产综合色视频| 欧美男生操女生| 亚洲视频一二区| 国产一区二区毛片| 91精品国产综合久久婷婷香蕉| 中文字幕视频一区| 国产一本一道久久香蕉| 在线播放日韩导航| 亚洲色图欧美偷拍| 国产高清视频一区| 日韩一区二区电影| 亚洲国产精品久久人人爱| 成人久久18免费网站麻豆 | 一本大道av伊人久久综合| 精品国产伦一区二区三区观看方式| 一个色综合网站| 99久久国产综合精品麻豆 | 国产嫩草影院久久久久| 麻豆一区二区三区| 欧美日本视频在线| 亚洲国产精品自拍| 色就色 综合激情| 亚洲欧洲日韩在线| 成人污视频在线观看| 久久久精品黄色| 精品影院一区二区久久久| 欧美丰满少妇xxxxx高潮对白 | 国产成人在线电影| 欧美videofree性高清杂交| 天天综合天天做天天综合| 色综合中文字幕国产 | 欧美一区二区网站| 亚欧色一区w666天堂| 日本精品一级二级| 亚洲精品国产品国语在线app| 99久久国产综合精品色伊| 国产精品视频一区二区三区不卡| 国产一区二三区| 国产色产综合产在线视频| 国内精品国产三级国产a久久| 欧美一级久久久久久久大片| 日本免费在线视频不卡一不卡二| 在线成人午夜影院| 日本不卡视频在线| 日韩欧美亚洲国产精品字幕久久久 | 日韩精品乱码免费| 欧美精品aⅴ在线视频| 日韩高清欧美激情| 日韩一区二区三区电影| 激情小说欧美图片| 亚洲国产精品激情在线观看| 成人高清视频免费观看| 亚洲欧美日韩国产成人精品影院| 91国内精品野花午夜精品| 亚洲成人动漫一区| 日韩精品中文字幕一区| 国产盗摄视频一区二区三区| 国产精品区一区二区三| 色999日韩国产欧美一区二区| 亚洲一区免费在线观看| 这里是久久伊人| 国产美女一区二区三区| 最新欧美精品一区二区三区| 欧美视频精品在线| 久久精品国产77777蜜臀| 国产三级精品视频| 日本精品一区二区三区高清| 日本欧美韩国一区三区| 国产午夜精品理论片a级大结局| 91年精品国产|