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

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

?? splitword.c

?? 另外一個中文分詞程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************
	http://www.sqlet.com
	mail:199909@gmail.com
	
	中文分詞測試版	
	author:linfj
	詞典文件:sqlet.dict
*******************************************/
#include <stdio.h>
#include <string.h>
#include <malloc.h>

#define BOOL				char
#define bool				BOOL
#define TRUE				1
#define FALSE				0
#define MAX_CWORD_LEN			10				//最長的詞
#define MAX_SWORD_LEN			256				//最長的句子
#define	MAX_CDIM			90

//不進行索引的單詞
char *arrayEnglishStop[] = {
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", 
"1", "2", "3", "4", "5", "6", "7", "8", "9", "0",  
"about", "above", "after", "again", "all", "also", "am", "an", "and", "any", "are", "as", "at", 
"back", "be", "been", "before", "behind", "being", "below", "but", "by", 
"can", "click", "do", "does", "done", "each", "else", "etc", "ever", "every", 
"few", "for", "from", "generally", "get", "go", "gone", "has", "have", "hello", "here", "how", 
"if", "in", "into", "is", "just", "keep", "later", "let", "like", "lot", "lots", "made", 
"make", "makes", "many", "may", "me", "more", "most", "much", "must", "my", "need", "no", "not", 
"now", "of", "often", "on", "only", "or", "other", "others", "our", "out", "over", "please", "put", 
"so", "some", "such", "than", "that", "the", "their", "them", "then", "there", "these", "they", 
"this", "try", "to", "up", "us", "very", "want", "was", "we", "well", "what", "when", "where", 
"which", "why", "will", "with", "within", "you", "your", "yourself"
};

//詞典索引時,字或詞不需要索引
char *arrayChineseStop[] = {
"的","嗎","么","啊","說","對","在","和","是",
"被","最","所","那","這","有","將","會","與",
"於","于","他","她","它","您","為","歡迎"
};

//全角的ASCII,要全部轉成半角英文字符,以后還要加入其它的符號如,.;/|等
//區碼為163的都要轉成ascii
//163	! " # ¥ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | }  ̄ 
//		!	  #  $  %  &  '   (  )  % +  ,  -  .  /   0   1  2 		
unsigned char *arrayWideAscii[] = {
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z",".",
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-"
};

//標點符號及漢字的標點符號,注意 + - " 這三個符號,因為在搜索的時候需要通過他們進行異或等條件判斷

char arrayAsciiSymbol[] ={
'!','\\','*','(',')','-','_','+','=','{','}','[',']',':',';','\'','\"',',','<','>','.','?','/','|','@','#','$','%','^','&'
};

//BIG5與GB對照,把所有big5轉成gb后進行處理
//$arrayBig5ToG = array ();
//UTF8的轉換

//漢字詞典
typedef struct _WORD_NODE
{
	char	strWord[MAX_CWORD_LEN+1];
	// todo ,可以增加 兩個字,三個字,四個字,五個字的數組,這樣查起來更快
	struct  _WORD_NODE	*nextWord;
}WORD_NODE;
//分詞結果
typedef struct _SEG_NODE
{
	char	strWord[MAX_CWORD_LEN+1];
	struct	_SEG_NODE	*nextWord;
}SEG_NODE;

struct _CH_DICT 
{
	WORD_NODE	*lstWord;
}CH_DICT[MAX_CDIM][MAX_CDIM];

struct _SEG_LIST 
{
	SEG_NODE	*lstWord;
}SEG_LIST[MAX_CDIM][MAX_CDIM];

/*同義詞典
	咖啡館,咖啡屋
	神六,神舟六號
synonymous
*/
char  *strTrim(char str[])
{
  int firstchar=0;
  int endpos=0;
  int i;
  int firstpos=0;

  for(i=0;str[i]!='\0';i++)
  {
    if(str[i]==' ' || str[i] == '\r' || str [i] == '\n' || str [i]=='\t')
	{
      if(firstchar==0) firstpos++;
    }
    else
	{
      endpos=i;
      firstchar=1;
    }
  }

  for(i=firstpos;i<=endpos;i++)
    str[i-firstpos]=str[i];
  str[i-firstpos]='\0';

  return str;
}

int addDictWord(char *strWord , int len)
{
	unsigned char firstChar,lastChar;
	WORD_NODE* curLst;
	
	WORD_NODE* newWord ,*curTmp ;
	
	firstChar = strWord[0] ;
	lastChar  = strWord[len-1];
	
	if (firstChar < 161 || lastChar < 161 )	//非漢字或是漢字的全角符號
		  return -1;
	
	newWord = (WORD_NODE*)malloc(sizeof(WORD_NODE));
	if ( newWord == NULL)
		return -1;
	strcpy(newWord->strWord,strWord);
	newWord->nextWord = NULL;
	
	firstChar -= 161 ;
	lastChar  -= 161 ;
	curLst = CH_DICT[firstChar][lastChar].lstWord;

	if( curLst == NULL)		//reinit list;
	{
		CH_DICT[firstChar][lastChar].lstWord = newWord ;

		return 0;
	}
	curTmp = curLst ;
	while(curTmp -> nextWord != NULL )
	{
		curTmp = curTmp->nextWord;
	}

	curTmp -> nextWord = newWord ;
	
	return 0;
}

int addSegWord(unsigned char *strWord , int len)
{
	unsigned char firstChar,lastChar;
	SEG_NODE* curLst;
	
	SEG_NODE* newWord ,*curTmp ;
	
	firstChar = strWord[0] ;
	lastChar  = strWord[len-1];

	//查看是否已經存在	
	firstChar %= MAX_CDIM ;
	lastChar  %= MAX_CDIM ;
	curLst = SEG_LIST[firstChar][lastChar].lstWord;

	curTmp = curLst ;
	while(curTmp != NULL )
	{
//		if ( strcasecmp(curTmp->strWord,(char *)strWord) == 0)
		if ( strcmp(curTmp->strWord,(char *)strWord) == 0)
			 return 0;		//已經存在
		curTmp = curTmp->nextWord;
	}

	newWord = (SEG_NODE*)malloc(sizeof(SEG_NODE));
	if ( newWord == NULL)
		return -1;
	strcpy(newWord->strWord,(char *)strWord);
	newWord->nextWord = NULL;
	
	if( curLst == NULL)		//reinit list;
	{
		SEG_LIST[firstChar][lastChar].lstWord = newWord ;

		return 0;
	}
	curTmp = curLst ;
	while(curTmp -> nextWord != NULL )
	{
		curTmp = curTmp->nextWord;
	}

	curTmp -> nextWord = newWord ;
	
	return 0;
}

int freeDict()
{
	int i ,j ;
	WORD_NODE *curLst,*curTmp ,*tmp;
	
	for ( i = 0 ; i < MAX_CDIM ; i ++ )
	  for ( j = 0 ; j < MAX_CDIM ; j ++ )
	  {
			curLst = CH_DICT[i][j].lstWord;
			curTmp = curLst;
			while ( curTmp != NULL ) 
			{
				tmp = curTmp ;
		//		printf("%s|",curTmp->strWord);
				curTmp = curTmp -> nextWord ;
//				if ( curTmp == NULL)
//					printf("\n");

				free(tmp);
				tmp = ( WORD_NODE *)NULL;
			}
			CH_DICT[i][j].lstWord = (WORD_NODE *)NULL;
	 }
	  return TRUE;
}

int freeSeg()
{
	int i ,j ;
	SEG_NODE *curLst,*curTmp ,*tmp;
	
	for ( i = 0 ; i < MAX_CDIM ; i ++ )
	  for ( j = 0 ; j < MAX_CDIM ; j ++ )
	  {
			curLst = SEG_LIST[i][j].lstWord;
			curTmp = curLst;
			while ( curTmp != NULL )
			{
				tmp = curTmp ;
				printf("%s|",curTmp->strWord);
				curTmp = curTmp -> nextWord ;
				if ( curTmp == NULL)
					printf("\n");

				free(tmp);
				tmp = ( SEG_NODE *)NULL;
			}
			SEG_LIST[i][j].lstWord = (SEG_NODE *)NULL;
	 }
	  return TRUE;
}

BOOL searchWord( unsigned char *strWord,int len )
{
	WORD_NODE *curLst,*curTmp;
	unsigned char firstChar,lastChar;
	
	firstChar = strWord[0] ;
	lastChar  = strWord[len-1];

	firstChar -= 161 ;
	lastChar  -= 161 ;
	curLst = CH_DICT[firstChar][lastChar].lstWord;

	curTmp = curLst;
	while ( curTmp != NULL ) 
	{
		if ( strcmp((char *)strWord,curTmp->strWord) == 0)
				return TRUE;
		curTmp = curTmp -> nextWord ;
	}
	return FALSE;
}

int segWord ( unsigned char *strText  , int iWordLen , BOOL bChinese )
{
	int i = 0 ,j = 0 , k = 0 , l = 0;
	unsigned char strChar[MAX_CWORD_LEN+1],strChar1[5],strChar2[5],strChar3[7];	
	BOOL	bFound = FALSE;
	
	i = iWordLen  ; 
	if ( FALSE == bChinese )
	{		//英文	
		//檢查 是否在stop數組里
		addSegWord(strText,iWordLen);
		return 0;	
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品高清在线观看| 国产欧美日韩在线观看| 中文字幕中文乱码欧美一区二区| 亚洲综合精品久久| 国产盗摄视频一区二区三区| 欧美丰满美乳xxx高潮www| 国产精品三级av在线播放| 免费视频最近日韩| 欧美日韩久久久一区| 国产精品成人一区二区艾草 | 久久嫩草精品久久久精品一| 亚洲国产另类av| 99久久精品免费精品国产| www国产精品av| 日韩av中文字幕一区二区三区| 色诱视频网站一区| 国产欧美日韩综合精品一区二区| 免费av网站大全久久| 欧美午夜精品电影| 亚洲视频你懂的| 丁香五精品蜜臀久久久久99网站| 欧美大肚乱孕交hd孕妇| 午夜久久电影网| 精品视频免费看| 亚洲一区二区在线视频| 91丨九色丨黑人外教| 免费看黄色91| 欧美精品日韩精品| 一区二区在线观看免费视频播放| caoporn国产精品| 欧美国产成人在线| 国产成人精品亚洲日本在线桃色| 日韩欧美色综合| 免费看日韩精品| 欧美一级二级三级乱码| 午夜精品久久一牛影视| 欧美亚洲丝袜传媒另类| 一级做a爱片久久| 在线免费观看视频一区| 亚洲女人的天堂| 色哟哟一区二区三区| 亚洲理论在线观看| 色吊一区二区三区| 一区二区三区在线免费视频| 91色|porny| 一区二区三区精品在线观看| 欧美性淫爽ww久久久久无| 亚洲精品国产第一综合99久久| 色吊一区二区三区| 亚洲综合丁香婷婷六月香| 欧美偷拍一区二区| 亚洲成人资源网| 欧美精品久久一区| 蜜桃久久久久久久| 久久久99免费| 成人免费高清在线| 成人欧美一区二区三区黑人麻豆| 91麻豆精东视频| 亚洲一区二区综合| 欧美一区二区视频在线观看 | 亚洲人一二三区| 91国在线观看| 午夜久久电影网| 精品少妇一区二区| 国产精品99久久久久久似苏梦涵| 亚洲国产精品99久久久久久久久| 99久久99久久精品免费观看 | 综合网在线视频| 欧美日韩一级片网站| 毛片一区二区三区| 日本一区二区动态图| 色视频一区二区| 日韩成人av影视| 久久综合中文字幕| 成人激情综合网站| 亚洲高清视频在线| 精品久久久久久最新网址| 高清国产午夜精品久久久久久| 亚洲精品免费一二三区| 91精品麻豆日日躁夜夜躁| 国产呦精品一区二区三区网站| 亚洲欧美在线高清| 欧美日韩二区三区| 国产成人av一区二区| 一区二区三区欧美日| 日韩一区二区影院| 成人黄色免费短视频| 亚洲一区二区三区视频在线| www国产成人| 欧美综合欧美视频| 黄一区二区三区| 一区二区三区影院| 日韩女优制服丝袜电影| 99re热这里只有精品视频| 奇米777欧美一区二区| 日本成人在线电影网| 国产精品国产a| 555www色欧美视频| 成人国产精品免费观看动漫| 天天av天天翘天天综合网| 国产日产欧产精品推荐色| 欧美日韩国产首页在线观看| 国产高清精品久久久久| 五月天网站亚洲| 国产精品视频线看| 日韩欧美美女一区二区三区| 色综合天天综合狠狠| 国内一区二区在线| 亚洲综合999| 国产欧美日韩综合精品一区二区| 欧美高清激情brazzers| 成人免费黄色大片| 欧美a级理论片| 一区二区三区欧美日| 欧美激情综合五月色丁香小说| 欧美精品123区| 91麻豆成人久久精品二区三区| 国产乱子伦视频一区二区三区| 日韩精品久久久久久| 亚洲男女毛片无遮挡| 国产三级精品视频| 欧美一区二区三区在线电影| 色婷婷精品大视频在线蜜桃视频| 国产精品一卡二卡在线观看| 日韩国产欧美视频| 夜夜精品视频一区二区| 国产精品午夜免费| www国产成人| 日韩欧美激情在线| 777亚洲妇女| 91麻豆国产精品久久| 成人免费看视频| 国产不卡在线视频| 韩国精品主播一区二区在线观看| 日本成人在线不卡视频| 午夜激情一区二区三区| 亚洲综合色视频| 一区二区成人在线观看| 亚洲少妇最新在线视频| 国产精品大尺度| 中文字幕+乱码+中文字幕一区| 久久免费午夜影院| 久久综合久久综合久久| 精品粉嫩aⅴ一区二区三区四区| 欧美一级在线视频| 91麻豆精品国产91久久久久久久久| 在线精品观看国产| 在线视频国内一区二区| 91一区二区三区在线观看| 91在线观看下载| 色综合久久天天| 91在线播放网址| 色又黄又爽网站www久久| 国产成人精品影视| 黑人精品欧美一区二区蜜桃| 日韩—二三区免费观看av| 午夜国产精品一区| 亚洲国产wwwccc36天堂| 一区二区三区在线不卡| 亚洲二区在线观看| 亚洲一区免费视频| 亚洲综合成人在线| 伊人婷婷欧美激情| 亚洲大片在线观看| 亚洲午夜精品网| 亚洲伊人色欲综合网| 国产精品成人免费在线| 欧美激情一区二区三区四区| 国产亚洲婷婷免费| 精品日韩一区二区三区| 欧美大尺度电影在线| 欧美成va人片在线观看| 久久伊人中文字幕| 久久久久久久综合狠狠综合| 亚洲一区二区在线视频| 亚洲第一成人在线| 另类小说图片综合网| 麻豆一区二区99久久久久| 美国毛片一区二区三区| 天天综合日日夜夜精品| 久久成人久久爱| 国产麻豆精品久久一二三| 国产高清久久久| 成人综合婷婷国产精品久久蜜臀| 成人综合婷婷国产精品久久蜜臀 | 亚洲女性喷水在线观看一区| 亚洲韩国一区二区三区| 日韩精品一二区| 久久99精品久久久| va亚洲va日韩不卡在线观看| 91麻豆国产自产在线观看| 欧美无砖专区一中文字| 在线观看亚洲精品视频| 欧美一区二区三区四区高清| 精品日韩99亚洲| 日本一二三四高清不卡| 最新欧美精品一区二区三区| 亚洲免费在线播放| 偷拍自拍另类欧美| 国产在线视频一区二区|