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

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

?? stringmatch.h

?? 經曲的字符串匹配模糊搜索算法 思想不是本人的
?? H
字號:
#include<fstream.h>

const float CAP_MISMATCH_VAL = 0.9f;

/*---------------------------------------------------------
**函數功能:檢測兩個字符串的匹配相似度
**函數參數:*left和*right為兩個比較的字符串
**返 回 值:bool型   true讀取成功, false讀取失敗
**編 寫 人:qidajiang
**時    間:2008-7-20
---------------------------------------------------------*/
//本函數會返回一個介于0到1之間的浮點值,表示兩個字符串
//之間匹配度的一個近似百分比

float stringMatch(char const *left, char const *right)
{
    // 獲取左右兩個字符串,能最長串的長度
    int  leftSize = strlen(left);
    int  rightSize = strlen(right);
    int largerSize = (leftSize > rightSize) ? 
	    leftSize : rightSize;
    char const *leftPtr = left;
    char const *rightPtr = right;
    float matchVal = 0.0f;
	// 對左側的字符串進行迭代操作,直到字符串的最后一個字符
    while(leftPtr != (left + leftSize) && 
	    rightPtr != (right + rightSize))
    {
        // 首先,我們進行一個簡單的左右匹配檢測
        if(*leftPtr == *rightPtr)
        {
            // 如果匹配,就向匹配總值加上這個字符的百分比值
            matchVal += 1.0f / largerSize;
            ++leftPtr; 
			++rightPtr;
        }
        // 如果匹配失敗,進行一次忽略大小寫的匹配檢測
        else if(::tolower(*leftPtr) == ::tolower(*rightPtr))
        {
            matchVal += CAP_MISMATCH_VAL / largerSize;
            ++leftPtr; 
			++rightPtr;
        }
        else
        {
            char const *lpbest = left + leftSize;
            char const *rpbest = right + rightSize;
            int totalCount = 0;
            int bestCount = INT_MAX;
            int leftCount = 0;
            int rightCount = 0;
            // 這里我們在外層循環中遍歷整個左字串
            // 但是為了確保不越過我們當前的最佳數量(bestCount)
            // 會進行提前退出循環的條件檢測
            for(char const *lp = leftPtr; (lp != (left + leftSize) 
                && ((leftCount + rightCount) < bestCount)); ++lp)
            {
       
                for(char const *rp = rightPtr; (rp != (right + 
                    rightSize) && ((leftCount + rightCount) < 
                    bestCount)); ++rp)
                {
                    // 在這里,我們不考慮大小寫
                    if(::tolower(*lp) == ::tolower(*rp))
                    {
                        totalCount = leftCount + rightCount;
                        if(totalCount < bestCount)
                        {
                            bestCount = totalCount;
                            lpbest = lp;
                            rpbest = rp;
                        }
                    }
                    ++rightCount;
                }
                ++leftCount;
                rightCount = 0;
            }
            leftPtr = lpbest;
            rightPtr = rpbest;
        }
    }
    // 為了防止浮點出錯,作數值范圍限定
    if(matchVal > 0.99f)
        matchVal = 1.0f;
    else if(matchVal < 0.01f)
        matchVal = 0.0f;
    return matchVal;
}

/*---------------------------------------------------------
**函數功能:從指定文件中讀取字符串,存入data數組
**函數參數:data存放字符串的數組,fileName讀取的文件名(可含路徑)
**返 回 值:bool型   true讀取成功, false讀取失敗
**編 寫 人:qidajiang
**時    間:2008-7-20
---------------------------------------------------------*/
bool readFileDatalie(char str[1000][1000], char *fileName,int *pNum) 
{
	bool result;
	ifstream fis;
	fis.open(fileName,ios::in,0);
	if( !fis )
	{
		cout<<"Error:Can't open file!";
		result = false;
	}
	else
	{
		*pNum = 0;
		char textline[1000];
		while(!fis.eof())
		{
			//memset (textline,0,sizeof(textline));
			fis.getline(textline,sizeof(textline));	
			//cout<<"textline="<<textline<<endl;
			strcpy(str[(*pNum)++],textline);
		}
		fis.close();
		result = true;
	}
	return result;
}

/*---------------------------------------------------------
**函數功能:把單個字符串寫入文件
**函數參數:fileName讀取的文件名(可含路徑),strtmp寫入的字符串
**返 回 值:bool型   true讀取成功, false讀取失敗
**編 寫 人:qidajiang
**時    間:2008-7-20
---------------------------------------------------------*/
bool writeSigleData(char *fileName, char *strtmp) 
{
	bool result;
	fstream fos;
	fos.open(fileName,ios::app,0);
	if( !fos )
	{
		cout<<"Error:Can't open file!";
		result = false;
	}
	else
	{
		//fseek(fp, SEEK_END, SEEK_CUR);
		fos<<strtmp<<endl;
		fos.close();
		result = true;
	}
	return result;
}

/*---------------------------------------------------------
**函數功能:匹配函數,檢測符合條件的字符串
**函數參數:instr輸入待查詢的字符串,str文本中的字符串,s文本中字符串的個數,limit限制比較參數
**返 回 值:bool型   true讀取成功, false讀取失敗
**編 寫 人:qidajiang
**時    間:2008-7-20
---------------------------------------------------------*/
void tryMatch(char instr[1000],char str[1000][1000],int s,float limit)
{
	float reslult=0.0f;
	int coumt=0;
	for (int i=0;i<s;i++)
	{
		reslult=stringMatch(instr,str[i]);
		cout<<"i = "<<i<<"時"<<"result = "<<reslult<<endl;
		if(reslult>limit)
		{
			//cout<<"The two String match!"<<endl;
			//cout<<"reslult= "<<reslult<<endl;
			cout<<"the string "<< instr <<" maching is "<< str[i]<<endl;
			writeSigleData("test1.txt",str[i]);
			coumt++;
		}
		else
		{
			//cout<<"The two String don't match!"<<endl;
		}
	}
	if(coumt==0)
	{
		cout<<"the string "<< instr <<" isn't string maching! "<<endl;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区四区在线观看| 欧美一区二区视频网站| 国产剧情一区二区| 久久国产麻豆精品| 六月婷婷色综合| 国产高清在线观看免费不卡| 玖玖九九国产精品| 国产一区二区三区av电影| 国产成人av在线影院| 成人aa视频在线观看| 在线观看国产91| 欧美电影一区二区| 欧美不卡一区二区| 国产亚洲精品福利| 亚洲欧美日韩人成在线播放| 日韩毛片精品高清免费| 樱花影视一区二区| 石原莉奈一区二区三区在线观看| 蜜桃视频在线观看一区| 国产91高潮流白浆在线麻豆 | 91福利在线看| 91.成人天堂一区| 国产亚洲美州欧州综合国| 亚洲视频在线观看一区| 三级欧美韩日大片在线看| 国产69精品久久久久777| 91久久精品日日躁夜夜躁欧美| 91麻豆精品久久久久蜜臀| 国产午夜精品久久久久久免费视 | 91色九色蝌蚪| 日韩视频在线永久播放| **性色生活片久久毛片| 婷婷六月综合网| 高清国产一区二区| 在线电影欧美成精品| 中文字幕国产一区二区| 日韩精品欧美成人高清一区二区| 国产成都精品91一区二区三| 欧美日韩一本到| 中文字幕一区二区在线播放| 久久精品国产亚洲aⅴ| 97精品久久久久中文字幕 | 亚洲免费观看高清完整| 久久精品噜噜噜成人av农村| 色综合中文字幕| 国产精品五月天| 精品亚洲成a人在线观看| 欧美亚洲国产一卡| 国产精品久久久久久久第一福利| 久久精品久久精品| 欧美酷刑日本凌虐凌虐| 一区在线观看视频| 国产精品主播直播| 欧美草草影院在线视频| 日韩精品视频网站| 欧美日韩久久一区二区| 亚洲三级在线免费| 成人毛片视频在线观看| 久久蜜臀中文字幕| 国内精品伊人久久久久av影院| 欧美日韩精品三区| 亚洲一区二区三区在线| 一本大道久久精品懂色aⅴ| 国产精品少妇自拍| 精品一区二区三区免费播放| 日韩一区二区三区视频在线| 亚洲一区二区欧美日韩| 欧美中文字幕亚洲一区二区va在线| 国产日产精品一区| 精品系列免费在线观看| 久久人人爽人人爽| 人人爽香蕉精品| 欧美电影免费观看高清完整版在线观看 | 日本一二三不卡| 韩国理伦片一区二区三区在线播放| 欧美一二区视频| 美女性感视频久久| 久久久另类综合| 成人午夜在线播放| 亚洲日本在线观看| av一区二区三区四区| 欧美激情一区二区三区| www.亚洲免费av| 亚洲女与黑人做爰| 日本久久电影网| 亚洲va国产va欧美va观看| 91美女在线观看| 一区二区在线观看免费| 欧美午夜精品电影| 亚洲成人中文在线| 欧美日韩一区二区三区不卡 | 精品一区二区免费在线观看| 色94色欧美sute亚洲13| 一区二区三区高清不卡| 欧洲精品视频在线观看| 亚洲大型综合色站| 日韩情涩欧美日韩视频| 国产盗摄女厕一区二区三区 | 99re视频这里只有精品| 亚洲人精品午夜| 欧美吞精做爰啪啪高潮| 午夜精品aaa| 久久久亚洲高清| 99国产欧美久久久精品| 亚洲大片一区二区三区| 精品久久免费看| 99久久婷婷国产综合精品电影 | 在线观看91av| 丁香桃色午夜亚洲一区二区三区| 亚洲视频一区二区在线| 91首页免费视频| 蜜桃av一区二区在线观看| 国产精品九色蝌蚪自拍| 欧美精品一级二级三级| 狠狠色丁香九九婷婷综合五月| 亚洲色欲色欲www在线观看| 欧美绝品在线观看成人午夜影视| 国产一区二区三区在线观看免费视频 | 国产成人免费网站| 亚洲夂夂婷婷色拍ww47| 欧美mv日韩mv国产网站app| 一本久久综合亚洲鲁鲁五月天| 蜜芽一区二区三区| 亚洲精品免费在线| 国产视频一区二区三区在线观看| 在线日韩一区二区| 99精品在线免费| 精品一区二区综合| 婷婷六月综合亚洲| 一区二区三区中文免费| 国产欧美一区二区三区网站| 7777精品伊人久久久大香线蕉完整版 | 成人午夜视频免费看| 日韩国产精品久久久| 亚洲日本在线天堂| 国产精品福利一区二区| 久久这里只有精品视频网| 欧美精品日韩综合在线| 91麻豆国产香蕉久久精品| 高清不卡一区二区在线| 国产成人精品亚洲日本在线桃色| 热久久国产精品| 亚洲成av人片在线| 一区二区三区免费看视频| 亚洲天堂av一区| 欧美激情艳妇裸体舞| 国产日韩欧美高清| 国产精品丝袜久久久久久app| 精品国内片67194| 欧美mv日韩mv国产网站app| 日韩免费电影网站| 日韩一级精品视频在线观看| 欧美视频一二三区| 欧美群妇大交群中文字幕| 欧美日韩一区二区三区四区| 色哦色哦哦色天天综合| 在线视频欧美精品| 欧美日韩精品一区二区三区四区| av在线不卡电影| 色综合视频一区二区三区高清| 国产风韵犹存在线视精品| 看电影不卡的网站| 美女在线视频一区| 久久99久久久久| 狠狠网亚洲精品| 免费在线观看成人| 国产在线看一区| 成人av集中营| 欧美日本在线看| 精品sm在线观看| 国产精品福利影院| 亚洲午夜影视影院在线观看| 三级欧美韩日大片在线看| 精品无人码麻豆乱码1区2区 | 一本色道久久综合亚洲91| 91热门视频在线观看| 色综合激情五月| 欧美日本乱大交xxxxx| 精品日韩一区二区三区免费视频| 欧美精品一区二区高清在线观看 | 欧美白人最猛性xxxxx69交| 久久精品一区蜜桃臀影院| 亚洲欧美日韩国产另类专区| 亚洲va国产天堂va久久en| 国产精品一区二区久久精品爱涩| 91丨porny丨中文| 日韩精品一区二区三区老鸭窝| 欧美国产精品一区二区三区| 亚洲一卡二卡三卡四卡五卡| 国产一区激情在线| 欧美性猛交xxxx乱大交退制版| 亚洲精品一区二区三区蜜桃下载| 最近日韩中文字幕| 日本vs亚洲vs韩国一区三区二区| 成人性生交大片免费看中文 | 日本一区二区三级电影在线观看| 怡红院av一区二区三区| 国产真实乱对白精彩久久| 欧美亚洲综合另类| 久久久久久**毛片大全|