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

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

?? invert10_31.c

?? 為自然語言處理領(lǐng)域的中文分詞程序
?? C
?? 第 1 頁 / 共 4 頁
字號:
	if (Index == NULL)
	{
		*error = EINDEXBUILD;
		printf("error is: %d\n", EINDEXBUILD);
		printf("內(nèi)存不足!\n");
		return NULL;
	}
		
	for(i = 0; i < (GBHTTOPNUM - GBHTBTMNUM + 1); i++)
	{
		Index[i] = (InvertNode *) malloc(( GBLWTOPNUM - GBLWBTMNUM + 1) * sizeof(InvertNode )); 
		if (Index[i] == NULL)
		{
			*error = EINDEXBUILD;
			printf("error is: %d\n", EINDEXBUILD);
			printf("內(nèi)存不足!\n");			
			return NULL;
		}
	}

	return Index;
}

/*該函數(shù)功能:建立英文倒排索引表,(索引號是GB碼減去176和161)
入口參數(shù):InvertNode *Index為待分配的空間
          int * error 錯(cuò)誤編碼,函數(shù)執(zhí)行正確為0
返回值:  InvertNode * 分配內(nèi)存后的地址
*/
InvertNode * EIdxBuild(InvertNode *Index, int * error)
{
	int count = 0;
	Index = (InvertNode *) malloc (26 * sizeof(InvertNode));
	if (Index == NULL)
	{
		*error = EINDEXBUILD;
		printf("error is: %d\n", EINDEXBUILD);
		return NULL;
	}
	return Index;
}
/*該函數(shù)功能:建立倒排索引表,(索引號是GB碼減去176和161)
入口參數(shù):InvertNode **InvertIndex 為中文國標(biāo)碼索引待分配的空間
          InvertNode *EIntIdx 為英文單詞索引
          const int DocCount 為一次處理的文檔個(gè)數(shù)
          const ForwardNode *fNode 為正向表所指向的指針
返回值:  為0,操作正常,否則錯(cuò)誤
*/
int InvertIdxBld(InvertNode **InvertIndex ,InvertNode *EIntIdx ,const ForwardNode *fNode, const int DocCount)
{
	/*int *IndexError;*/
	WordNode *pCurWordNode;
	DocNode *pCurDoc;
	int flag;
	
	int i,k,m;
	unsigned char uTemp[MAXWORD + 1];
	
	InvertNode *pInvertNode;
	
	/*IndexError = (int *) malloc (sizeof(int));
	*IndexError = 0;*/
	if (fNode == NULL){
		return EFNODE;
	}
	if (DocCount < 0) {
		return EFNODE;
	}
	/*建立倒排索引*/
	for(i = 0 ; i < DocCount; i++)
	{

		pCurWordNode = (fNode + i)->wFWordNode;
		printf("\n正在建立文檔: %s 的倒排索引\n", (fNode + i)->sFileURL );/**/
		while(pCurWordNode != NULL)
		{
			sprintf(uTemp, pCurWordNode->sWords);
			
			/*如果是漢字,將漢字寫入漢字倒排索引*/
			if((uTemp[0] <= GBHTTOPNUM) && (uTemp[0] >= GBHTBTMNUM)  && (uTemp[1] <= GBLWTOPNUM) && (uTemp[1] >= GBLWBTMNUM))
			{
				/*如果是未出現(xiàn)的字*/
				if(InvertIndex[uTemp[0] - GBHTBTMNUM][uTemp[1] - GBLWBTMNUM].lWordNum == 0)
				{
					pInvertNode = &InvertIndex[uTemp[0] - GBHTBTMNUM][uTemp[1] - GBLWBTMNUM];
					pInvertNode->lWordNum = 1;
					/*如果是單字,在單字的位置上,新添加文檔節(jié)點(diǎn)*/
					if (uTemp[2] == '\0')
					{
							pInvertNode->pDocNode = (DocNode *) malloc(sizeof(DocNode));
							pCurDoc = pInvertNode->pDocNode;
							strcpy(pInvertNode->sWords, uTemp);
							pCurDoc->pNext = NULL;
							pCurDoc->iPos = NULL;
					}
					/*如果不是單字就在后面連上一個(gè)InvertNode,并記錄*/
					else
					{
						pInvertNode->pNextNode = (InvertNode *) malloc (sizeof(InvertNode));
						pInvertNode = pInvertNode->pNextNode;
						strcpy(pInvertNode->sWords, uTemp);
						pInvertNode->pNextNode = NULL;
						pInvertNode->lDocNum = 0;
						pInvertNode->pDocNode = (DocNode *) malloc (sizeof(DocNode));
						pCurDoc = pInvertNode->pDocNode;
						pCurDoc->pNext = NULL;
						pCurDoc->iPos = NULL;
					}
				}
				/*如果該字已出現(xiàn)過*/
				else
				{
					pInvertNode = &InvertIndex[uTemp[0] - GBHTBTMNUM][uTemp[1] - GBLWBTMNUM];
					/*尋找該詞*/
					flag = 0;
					if (strcmp(uTemp,pInvertNode->sWords) == 0)
					{
						flag = 1;
					}
					else
					{
						while (pInvertNode->pNextNode != NULL)
						{
							/*如果該詞出現(xiàn)過*/
							if(strcmp(uTemp,pInvertNode->sWords) == 0)
							{
								flag = 1;
								break;
							}
							pInvertNode = pInvertNode->pNextNode;
						}
						if (strcmp(uTemp,pInvertNode->sWords) == 0)
						{
							flag = 1;
						}
					}
					/*如果該詞是未出現(xiàn)的詞*/
					if(flag == 0)
					{
						(InvertIndex[uTemp[0] - GBHTBTMNUM][uTemp[1] - GBLWBTMNUM].lWordNum)++;
						pInvertNode->pNextNode = (InvertNode *)malloc(sizeof(InvertNode));
						pInvertNode = pInvertNode->pNextNode;
						/*這句可要可不要,因?yàn)橹辉趩巫止?jié)點(diǎn)中記錄以該字為頭的詞數(shù),不在詞節(jié)點(diǎn)中記錄個(gè)數(shù)*/
						pInvertNode->lWordNum = 1;
						pInvertNode->lDocNum = 0;
						pInvertNode->pNextNode = NULL;
						strcpy(pInvertNode->sWords, uTemp);
						/*分配文檔節(jié)點(diǎn)的內(nèi)存*/
						pInvertNode->pDocNode = (DocNode *) malloc(sizeof(DocNode));
						pCurDoc = pInvertNode->pDocNode;
						pCurDoc->pNext = NULL;
					}
					/*如果以前出現(xiàn)過,則找到該詞所在的pInvertNode,然后新添加文檔節(jié)點(diǎn)*/
					else
					{
						pCurDoc = pInvertNode->pDocNode;
						/*找到鏈表的尾端*/
						while (pCurDoc->pNext != NULL)
						{
							pCurDoc = pCurDoc->pNext;
						}
						pCurDoc ->pNext = (DocNode *) malloc (sizeof(DocNode));
						pCurDoc = pCurDoc->pNext;
						pCurDoc->pNext = NULL;
					}
				}
			
				/*填入文檔信息*/
				pInvertNode->lDocNum ++;
				strcpy(pCurDoc->sDocID,(fNode + i)->sDocID);
				pCurDoc->fWeight = pCurWordNode->fWeight;
				pCurDoc->iFreq = pCurWordNode->iFreq;
				pCurDoc->iPos = (int *) malloc(pCurDoc->iFreq * sizeof(int));
				for( k = 0; k < pCurWordNode->iFreq; k++)
				{
					pCurDoc->iPos[k] = pCurWordNode->iPos[k];
				}
				strcpy(pCurDoc->sFileURL, (fNode + i)->sFileURL);
			}
			
			/*如果正向表中是英文,則將其寫入英文倒排索引*/
			if((uTemp[0] <= 'z') && (uTemp[0] >= 'a')  || (uTemp[0] <= 'Z') && (uTemp[0] >= 'A'))
			{
				/*將所有大寫字母轉(zhuǎn)換成小寫字母*/
				m = 0;
				while(uTemp[m] != '\0')
				{
					if((uTemp[m] <= 'Z') && (uTemp[m] >= 'A'))
					{
						uTemp[m] = uTemp[m] + DIFLOWHIGA;
					}
					m++;
				}
				/*如果是未出現(xiàn)的字母*/
				if(EIntIdx[uTemp[0] - LOWERA].lWordNum == 0)
				{
					pInvertNode = &EIntIdx[uTemp[0] - LOWERA];
					pInvertNode->lWordNum = 1;
					/*如果是單個(gè)字母,在單個(gè)字母的位置上,新添加文檔節(jié)點(diǎn)*/
					if (uTemp[1] == '\0')
					{
							pInvertNode->pDocNode = (DocNode *) malloc(sizeof(DocNode));
							pCurDoc = pInvertNode->pDocNode;
							strcpy(pInvertNode->sWords, uTemp);
							pCurDoc->pNext = NULL;
							pCurDoc->iPos = NULL;
								
					}
					/*如果不是單個(gè)字母就在后面連上一個(gè)InvertNode,并記錄*/
					else
					{
						pInvertNode->pNextNode = (InvertNode *) malloc (sizeof(InvertNode));
						pInvertNode = pInvertNode->pNextNode;
						strcpy(pInvertNode->sWords, uTemp);
						pInvertNode->pNextNode = NULL;
						pInvertNode->lDocNum = 0;
						pInvertNode->pDocNode = (DocNode *) malloc (sizeof(DocNode));
						pCurDoc = pInvertNode->pDocNode;
						pCurDoc->pNext = NULL;
					}
				}
				/*如果該字母已出現(xiàn)過*/
				else
				{
					pInvertNode = &EIntIdx[uTemp[0] - LOWERA];
					/*尋找該詞*/
					flag = 0;
					if (strcmp(uTemp,pInvertNode->sWords) == 0)
					{
						flag = 1;
					}
					else
					{
						while (pInvertNode->pNextNode != NULL)
						{
							/*如果該詞出現(xiàn)過*/
							if(strcmp(uTemp,pInvertNode->sWords) == 0)
							{
								flag = 1;
								break;
							}
							pInvertNode = pInvertNode->pNextNode;							
						}
						if (strcmp(uTemp,pInvertNode->sWords) == 0)
						{
							flag = 1;
						}
					}
					/*如果該詞是未出現(xiàn)的詞*/
					if(flag == 0)
					{
						(EIntIdx[uTemp[0] - LOWERA].lWordNum)++;
						pInvertNode->pNextNode = (InvertNode *)malloc(sizeof(InvertNode));
						pInvertNode = pInvertNode->pNextNode;
						/*這句可要可不要,因?yàn)橹辉趩巫止?jié)點(diǎn)中記錄以該字為頭的詞數(shù),不在詞節(jié)點(diǎn)中記錄個(gè)數(shù)*/
						pInvertNode->lWordNum = 1;
						pInvertNode->lDocNum = 0;
						pInvertNode->pNextNode = NULL;
						strcpy(pInvertNode->sWords, uTemp);
						/*分配文檔節(jié)點(diǎn)的內(nèi)存*/
						pInvertNode->pDocNode = (DocNode *) malloc(sizeof(DocNode));
						pCurDoc = pInvertNode->pDocNode;
						pCurDoc->iPos = NULL;
						pCurDoc->pNext = NULL;
					}
					/*如果以前出現(xiàn)過,則找到該詞所在的pInvertNode,然后新添加文檔節(jié)點(diǎn)*/
					else
					{
						pCurDoc = pInvertNode->pDocNode;
						/*找到鏈表的尾端*/
						while (pCurDoc->pNext != NULL)
						{
							pCurDoc = pCurDoc->pNext;
						}
						pCurDoc ->pNext = (DocNode *) malloc (sizeof(DocNode));
						pCurDoc = pCurDoc->pNext;
						pCurDoc->iPos = NULL;
						pCurDoc->pNext = NULL;
					}
				}
				/*填入文檔信息*/
				pInvertNode->lDocNum ++;
				strcpy(pCurDoc->sDocID,(fNode + i)->sDocID);
				pCurDoc->fWeight = pCurWordNode->fWeight;
				pCurDoc->iFreq = pCurWordNode->iFreq;
				pCurDoc->iPos = (int *) malloc(pCurDoc->iFreq * sizeof(int));
				for( k = 0; k < pCurWordNode->iFreq; k++)
				{
					pCurDoc->iPos[k] = pCurWordNode->iPos[k];
				}
				strcpy(pCurDoc->sFileURL, (fNode + i)->sFileURL);
			}

			/*處理完一個(gè)節(jié)點(diǎn),釋放正向表詞節(jié)點(diǎn)所占的內(nèi)存*/
			pCurWordNode = pCurWordNode->pnext;
		}
	}

	/*if(IndexError)
		free(IndexError);*/
	return 0;
}

/* 將所給單鏈表的內(nèi)容寫到指定文件中,若文件超過指定大小,則新建文件。
 *	新文件的名稱為:原文件名+數(shù)字
 */
/* 返回文件大小 (字節(jié))*/
long filesize(FILE *stream) 
{
	long curpos, length;
	
	curpos = ftell(stream);
	fseek(stream, 0L, SEEK_END);
	length = ftell(stream) ;
	fseek(stream, curpos, SEEK_SET);
	return length;
}
/** 獲取文件序號 **/
int get_file_seq_num(char * sFileName)
{
	int i, length;
	int ndotpos, numstartpos;
 	
	length = strlen(sFileName);
	/* 確定文件后綴開始位置*/
	for(i = length-1 ; (sFileName[i] != '.') && (i>0) ; i--) ;
	if (i>0) 
	{
		ndotpos = i; 
	}
	else
		ndotpos = length-1;
	/* 從文件后綴開始位置往回搜索,找數(shù)字開始位置*/
	i = ndotpos ;
	while ((i >0) && (atoi(sFileName+i-1) !=0)  ) 
	{
		i--;
	}
	numstartpos = i;
	/* 返回文件序號, 若沒有數(shù)字, 返回為0*/
	return(atoi(sFileName+numstartpos)) ;
}

int create_next_file_name(char *sname_in, char ** sname_out)
{
int i, length, oldseq, newseq;
	int ndotpos, numstartpos;
	char *tmpstr;
	
	length = strlen(sname_in);
	tmpstr = (char *)malloc(sizeof(char)* (length +1)) ;
	
	if(strcmp(sname_in, "10.txt") == 0)
	{
		i = 0;
	}
	
	/* 確定文件后綴開始的位置*/
	for(i = length-1 ; (sname_in[i] != '.') && (i>0) ; i--) ;
	if (i>0) 
	{
		ndotpos = i;
	}
	else
	{
		ndotpos = length-1;
	}
	/*從文件后綴開始的位置往回搜索,找數(shù)字開始的位置*/
	i = ndotpos ;
	while ((i >0) && (atoi(sname_in+i-1) >= 0)&&(atoi(sname_in+i-1) <= 9))
	{
		i--;
	}
	if (i == 1)
	{
		if ((sname_in[0] >= '0') && (sname_in[0] <= '9'))
		{
			i = 0;
		}
	}
	numstartpos = i;
	for(i = numstartpos; i < ndotpos; i++)
	{
		tmpstr[i] = sname_in[i];
	}
	tmpstr[i] = '\0';
	oldseq = atoi(tmpstr);
	newseq = oldseq + 1;

	itoa(newseq, *sname_out, 10);
	sprintf(*sname_out, "%s%s", *sname_out, sname_in+ndotpos);
	if(tmpstr)
		free(tmpstr);
	return 0 ;
}

/*該函數(shù)的功能:建立倒排索引時(shí),當(dāng)索引文檔大小大于一定值時(shí),寫入另一個(gè)文檔
                本函數(shù)主要是得到當(dāng)前目錄下上一次建立索引時(shí)寫過的文檔,
				即可能沒有達(dá)到指定大小的文檔的名字,
				該名字保存在$curfile.txt文件中。
入口參數(shù):sCurDir為當(dāng)前索引目錄
返回值:索引文件名字
*/
char* GetWrtFlName(const char *sCurDir)
{
	char *sDir;
	FILE *stream;
	char *sFileName;
	int count,i;

	sFileName = (char *) malloc(sizeof(char) * MAXPATHLEN);
	sDir = (char *) malloc(sizeof(char) * MAXPATHLEN);
	strcpy(sDir, sCurDir);
	strcat(sDir, "\\");
	strcat(sDir, "$curfile.txt");
	if((stream = fopen(sDir, "r")) ==NULL)
	{
		/*當(dāng)?shù)谝淮谓⑺饕龝r(shí),索引文件以1.txt開始*/
		strcpy(sFileName, "1.txt");
		if(sDir)
			free(sDir);
		return sFileName;
	}
	else
	{
		fscanf(stream, "%s", sFileName);
		/*判斷記錄當(dāng)前索引文件名字的索引文檔是否正常,如果正常讀出,
		否則將sFileName置成1.txt*/
		count = 0;
		i = 0;
		while(sFileName[i] != '\0')
		{
			i++;
			if(sFileName[i] == '.')
			{
				count++;
			}
		}
		if(count != 1)
		{
			strcpy(sFileName, "1.txt");
		}
		fclose(stream);
		if(sDir)
			free(sDir);
		return sFileName;
	}
}

/*該函數(shù)的功能:建立倒排索引時(shí),當(dāng)索引文檔大小大于一定值時(shí),寫入另一個(gè)文檔
                本函數(shù)主要是記錄當(dāng)前所寫的文檔的名字,
				該名字保存在$curfile.txt文件中。
入口參數(shù):sFileName為當(dāng)前的文件名字如1.txt,2,txt...等
          sCurDir為當(dāng)前索引目錄如e:\invt\半
返回值:成功返回0
*/
int WrtFlName(const char *sFileName, const char *sCurDir)
{
	char *sDir;
	FILE *stream;

	sDir = (char *) malloc(sizeof(char) * MAXPATHLEN);
	strcpy(sDir, sCurDir);
	strcat(sDir, "\\");
	strcat(sDir, "$curfile.txt");

	if ((stream = fopen(sDir, "w+")) == NULL)
	{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区中文视频| 亚洲视频免费在线| 91极品视觉盛宴| 久久 天天综合| 亚洲日本va在线观看| 日韩免费高清电影| 日本丶国产丶欧美色综合| 精品亚洲aⅴ乱码一区二区三区| 亚洲女与黑人做爰| 久久久蜜桃精品| 欧美一卡二卡在线观看| 99久久精品99国产精品| 狠狠色伊人亚洲综合成人| 夜夜嗨av一区二区三区中文字幕| 久久久www免费人成精品| 91麻豆精品国产91久久久久| 91网站黄www| 丁香激情综合国产| 久久99热这里只有精品| 午夜av一区二区| 又紧又大又爽精品一区二区| 亚洲国产精品国自产拍av| 日韩精品专区在线| 欧美亚洲一区二区在线| 91免费观看视频在线| 成人妖精视频yjsp地址| 久久国产综合精品| 日韩av电影免费观看高清完整版| 亚洲人成在线播放网站岛国| 中日韩免费视频中文字幕| 久久久噜噜噜久久人人看 | 丝袜美腿亚洲色图| 一级女性全黄久久生活片免费| 亚洲欧洲99久久| 国产精品白丝在线| 亚洲日本va午夜在线影院| 亚洲国产精品av| 日本一区二区动态图| 国产区在线观看成人精品 | 一区二区三区在线免费视频| 中文字幕五月欧美| 亚洲天堂免费看| 亚洲女人的天堂| 亚洲欧美日韩国产综合在线| 亚洲四区在线观看| 亚洲精品久久久蜜桃| 亚洲美女屁股眼交| 亚洲免费观看高清| 亚洲成人一区二区在线观看| 亚洲午夜日本在线观看| 亚洲va欧美va国产va天堂影院| 亚洲一区在线观看免费| 亚洲国产乱码最新视频| 日韩电影免费在线| 国内精品写真在线观看| 国产在线一区二区综合免费视频| 国产精品自拍网站| av不卡免费电影| 在线观看91精品国产入口| 欧美三级中文字幕| 欧美大度的电影原声| 亚洲精品在线三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 3d动漫精品啪啪1区2区免费 | 国产精品久久久久影院亚瑟| 国产精品狼人久久影院观看方式| 中文字幕永久在线不卡| 亚洲综合成人网| 蜜臀av性久久久久蜜臀aⅴ| 国产一区二区三区高清播放| hitomi一区二区三区精品| 欧美在线观看一区| 精品欧美久久久| 亚洲欧洲另类国产综合| 午夜精品123| 国产一区二区中文字幕| 91热门视频在线观看| 日韩欧美资源站| 中文字幕乱码日本亚洲一区二区 | 成人精品鲁一区一区二区| 91视频国产观看| 在线成人免费观看| 国产日韩精品久久久| 亚洲一区国产视频| 国产精品一区二区免费不卡| 91国在线观看| 国产午夜亚洲精品羞羞网站| 亚洲一级片在线观看| 精品一区二区三区欧美| 91啦中文在线观看| 欧美不卡在线视频| 亚洲欧美一区二区三区国产精品| 蜜臀91精品一区二区三区 | 欧美美女bb生活片| 国产欧美日韩三区| 日韩专区欧美专区| 不卡的av电影| 欧美mv日韩mv| 亚洲大片在线观看| 成人激情免费视频| 欧美大片在线观看一区二区| 一区二区三区四区不卡视频| 国产一区二区三区精品视频| 欧美猛男gaygay网站| 日韩毛片一二三区| 国产精品自拍网站| 日韩欧美国产wwwww| 亚洲自拍与偷拍| 99久久久久久| 国产欧美日韩精品一区| 免费人成在线不卡| 欧美亚洲高清一区二区三区不卡| 国产午夜精品久久久久久免费视| 午夜精品影院在线观看| 97精品视频在线观看自产线路二| 2023国产精品自拍| 毛片av中文字幕一区二区| 欧美性一级生活| 亚洲欧美激情小说另类| 成人91在线观看| 国产欧美综合在线观看第十页 | 国产精选一区二区三区| 欧美一区二区观看视频| 亚洲国产一区二区三区| 色综合久久九月婷婷色综合| 国产精品美女久久久久久久久 | 欧美电影免费观看完整版| 午夜精品在线视频一区| 欧美日韩国产片| 婷婷成人激情在线网| 91蜜桃免费观看视频| 国产精品麻豆久久久| 成人免费视频国产在线观看| 久久久国产精华| 成人毛片视频在线观看| 亚洲国产经典视频| www.欧美日韩| 综合婷婷亚洲小说| 日韩无一区二区| 日韩专区欧美专区| 欧美大片在线观看一区| 久久国内精品自在自线400部| 精品日产卡一卡二卡麻豆| 韩国午夜理伦三级不卡影院| 精品88久久久久88久久久 | 欧美日韩综合色| 亚洲一区二区三区中文字幕| 欧美专区在线观看一区| 亚洲成av人在线观看| 制服丝袜国产精品| 乱中年女人伦av一区二区| 欧美videofree性高清杂交| 激情综合色播五月| 国产精品久久久久一区二区三区| 99在线精品免费| 亚洲成人资源在线| 欧美电影免费观看高清完整版在 | 中文字幕日韩精品一区 | 精品国产一区二区三区久久久蜜月| 毛片av一区二区| 中文子幕无线码一区tr| 91蜜桃传媒精品久久久一区二区| 亚洲成人av免费| 2020国产精品久久精品美国| 成人综合婷婷国产精品久久蜜臀| 亚洲同性同志一二三专区| 欧美日韩视频一区二区| 久久99精品国产麻豆不卡| 欧美国产精品一区二区| 日本高清不卡在线观看| 精品一区二区三区在线观看| 国产精品五月天| 欧美美女一区二区三区| 福利一区在线观看| 亚洲成人资源网| 国产精品网曝门| 在线成人午夜影院| 成人免费视频一区| 日日摸夜夜添夜夜添精品视频| 久久看人人爽人人| 欧美日韩一区成人| 国产成人免费视频一区| 夜夜嗨av一区二区三区网页| 精品少妇一区二区三区| 色又黄又爽网站www久久| 久久精品国产成人一区二区三区 | 亚洲男人的天堂av| 日韩一本二本av| 色婷婷国产精品久久包臀| 激情久久五月天| 亚洲与欧洲av电影| 中文字幕av一区二区三区免费看 | 精品亚洲porn| 亚洲成a人片综合在线| 国产亚洲一二三区| 欧美二区在线观看| 91在线观看一区二区| 蜜桃久久av一区| 亚洲午夜久久久| 国产精品福利电影一区二区三区四区|