青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 7  文章 - 15  trackbacks - 0
<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

常用鏈接

留言簿(2)

隨筆檔案(7)

相冊

搜索

  •  

積分與排名

  • 積分 - 15916
  • 排名 - 955

最新評論

閱讀排行榜

評論排行榜

#i nclude <stdio.h>
#i nclude <stdlib.h>
#i nclude <string.h>
#i nclude <time.h>

//獲得prefix數組
int* GetPrefixValue(char* strPattern, int iPatternLen)
{
??? int i, j; /* i runs through the string, j counts the hits*/
??? int* prefix = (int*)malloc(iPatternLen*sizeof(int));
???
??? i = 1; j = 0;
??? prefix[0] = 0;
???
??? while(i<iPatternLen)
??? {
??????? if(strPattern[i] == strPattern[j])
??????? {
??????????? prefix[i] = ++j;
??????? }
??????? else
??????? {
??????????? j = 0;
??????????? prefix[i] = j;
??????? }
???????
??????? i++;
??? }
???
??? return prefix;??????????
}???

//返回target串在pattern串中第一次匹配的index
int KMPStringMatch(char* strPattern, int iPatternLen, char* strTarget, int iTargetLen, int* prefix)
{
??? int i = 0;
??? int j = 0;
???
??? while(i<iPatternLen && j<iTargetLen)
??? {
??????? if(j==0 || strPattern[i]==strTarget[j])
??????? {
??????????? i++;? j++;
??????? }
??????? else
??????? {
??????????? j = prefix[j];
??????? }
??? }????????????
???
??? free(prefix);
????
??? if(j==iTargetLen)
??? {
??????? return i-j;
??? }
??? else
??? {
??????? return -1;
??? }????????
}????????

int KMP(char* strPattern, char* strTarget)
{
??? int* prefix = GetPrefixValue(strPattern, strlen(strPattern));
??? int index = KMPStringMatch(strPattern, strlen(strPattern), strTarget, strlen(strTarget), prefix);
??? return index;
}

//在文本文件中查找target串出現的行數
int SearchInTxtFile(char* fileName, char* strTarget)
{
??? FILE* hFile = fopen(fileName, "r");
???
??? char str[1024];
??? int count = 0;
???
???
??? while(fgets(str, 1024, hFile))?
??? {
??????? if(KMP(str, strTarget)!=-1)
??????? {
??????????? count++;
??????? }???
??? }?????
???
??? fclose(hFile);
??? hFile=NULL;
???
??? return count;
}????
????????????
int main()
{
??? char ch;
??? char str1[] = "abcabcabctasksb,abTo";
??? char str2[] = "abc";
???
??? double t=clock();
??? printf("%d\n", KMP(str1,str2));
??? printf("耗時:%f毫秒!\n", (clock()-t));
???
??? t=clock();
??? printf("find %d \n", SearchInTxtFile("c:\\txt.txt", "NULL"));
??? printf("耗時:%f毫秒!\n", (clock()-t));
??? scanf("%c", &ch);

??? return 0;
}?

posted on 2006-07-05 23:48 Bourne 閱讀(4811) 評論(4)  編輯 收藏 引用

FeedBack:
# re: KMP字符串匹配算法C語言實現 2009-02-18 13:24 楊如清
錯誤的算法
char str1[] = "abcabcabctasksb,abTo";
char str2[] = "sb";
KMP(str1,str2)返回0  回復  更多評論
  
# re: KMP字符串匹配算法C語言實現 2009-02-27 19:46 gaewah
的確好像錯了厄。。
abaababaab
的prefix算錯了。。  回復  更多評論
  
# re: KMP字符串匹配算法C語言實現 2009-08-17 14:45 test
簡直就一垃圾 這樣的代碼也貼出來!  回復  更多評論
  
# re: KMP字符串匹配算法C語言實現 2011-06-17 10:04 學校
樓上有點偏激了。。。  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲欧美视频在线| 奶水喷射视频一区| 在线观看日韩一区| 黄色成人片子| 一区精品在线播放| 亚洲黄色av一区| 一区二区三区高清不卡| 99国产精品| 午夜精品免费视频| 久久精品视频网| 欧美α欧美αv大片| 亚洲黄色一区| 亚洲免费观看高清在线观看| 在线综合亚洲欧美在线视频| 欧美一区二区三区在线免费观看 | 久久久另类综合| 午夜欧美精品久久久久久久| 亚洲欧美久久久| 久久久久91| 亚洲人成亚洲人成在线观看图片| a91a精品视频在线观看| 久久国产夜色精品鲁鲁99| 女女同性精品视频| 国产女主播一区二区三区| 亚洲国产婷婷| 欧美在现视频| 亚洲精品影院在线观看| 久久国产精品99久久久久久老狼| 欧美高清在线一区| 好吊一区二区三区| 亚洲尤物在线| 亚洲欧洲精品天堂一级| 欧美在线观看视频一区二区三区 | 欧美阿v一级看视频| 国产精品国产馆在线真实露脸| 国产综合精品一区| 亚洲一区二区在线免费观看视频| 欧美.www| 久久精品国产99精品国产亚洲性色 | 蜜臀va亚洲va欧美va天堂| 国产毛片久久| 亚洲小说欧美另类婷婷| 亚洲福利精品| 久久久久.com| 国产日韩欧美麻豆| 午夜精品福利一区二区蜜股av| 亚洲黄色在线视频| 免费成人性网站| 在线播放亚洲| 免费在线一区二区| 久久久免费精品| 依依成人综合视频| 美女图片一区二区| 久久久国产一区二区三区| 国内精品写真在线观看| 久久天天躁狠狠躁夜夜爽蜜月 | 亚洲精品在线视频观看| 免费不卡在线观看| 91久久精品美女| 91久久久精品| 欧美精品在线看| 亚洲色在线视频| 亚洲一区二区在线播放| 欧美日韩精品一区二区在线播放| 噜噜噜91成人网| 久久久噜噜噜久噜久久| 在线观看91精品国产入口| 麻豆91精品91久久久的内涵| 久久精品毛片| 亚洲国产日韩一区| 亚洲日本中文字幕免费在线不卡| 欧美激情中文字幕乱码免费| 日韩系列在线| 亚洲视频精品| 国内成+人亚洲+欧美+综合在线| 久久久噜久噜久久综合| 久久色中文字幕| 日韩午夜在线| 午夜在线电影亚洲一区| 怡红院精品视频在线观看极品| 亚洲承认在线| 欧美肉体xxxx裸体137大胆| 欧美伊人久久久久久久久影院| 新67194成人永久网站| 1024国产精品| 在线综合亚洲| 在线成人av网站| 9i看片成人免费高清| 国内成人在线| 亚洲精品综合| 黄色成人91| 日韩香蕉视频| 黄色日韩网站视频| 99成人精品| 亚洲黄色毛片| 性欧美1819sex性高清| 亚洲欧洲精品一区二区三区| 中文在线资源观看网站视频免费不卡| 国产亚洲一区二区在线观看 | 欧美国产一区二区在线观看| 国产精品porn| 亚洲国产精品第一区二区三区| 国产精品毛片| 亚洲人成久久| 伊人蜜桃色噜噜激情综合| 一区二区三区精品视频| 亚洲国产人成综合网站| 欧美一级黄色网| 亚洲午夜国产一区99re久久| 久久久免费精品视频| 欧美在线视频二区| 欧美日韩国产高清视频| 欧美99久久| 国内自拍亚洲| 欧美一区二区三区免费观看视频 | 亚洲综合99| 欧美精品九九| 亚洲国产成人午夜在线一区| 红桃视频欧美| 久久精品欧美日韩精品| 久久精品国产免费看久久精品| 欧美日在线观看| 日韩午夜在线播放| 一区二区三区国产在线观看| 欧美大片18| 一区在线播放视频| 欧美尤物一区| 国产欧美大片| 亚洲自拍电影| 亚洲欧美日韩一区二区三区在线观看| 欧美日韩国产欧| 亚洲国产欧美日韩| 亚洲精品日韩激情在线电影| 麻豆精品视频在线观看| 欧美国产精品va在线观看| 影音先锋日韩资源| 久久亚洲图片| 欧美激情国产日韩精品一区18| 伊人精品久久久久7777| 久久久之久亚州精品露出| 狂野欧美一区| 亚洲第一毛片| 欧美高清视频一区二区三区在线观看 | 国产尤物精品| 久久精品道一区二区三区| 久久婷婷成人综合色| 精品不卡在线| 欧美激情精品久久久久| 一区二区高清在线| 亚洲欧美日本日韩| 国产午夜精品美女视频明星a级| 午夜在线播放视频欧美| 你懂的国产精品| 日韩一级裸体免费视频| 欧美亚男人的天堂| 欧美在线电影| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品免费在线播放| 欧美午夜精品伦理| 欧美一区二区性| 欧美激情性爽国产精品17p| 宅男66日本亚洲欧美视频| 国产美女扒开尿口久久久| 久久夜色精品国产噜噜av| 日韩一区二区精品葵司在线| 欧美亚洲在线| 亚洲国产美女精品久久久久∴| 欧美日韩1区| 久久精精品视频| 日韩视频永久免费| 久久一区二区三区国产精品 | 欧美激情第9页| 亚洲男人av电影| 亚洲第一色在线| 国产精品久久久久毛片软件| 久久久久久亚洲精品中文字幕| 日韩网站免费观看| 六月天综合网| 欧美一级片一区| 99成人免费视频| 一区在线电影| 国产伦精品一区二区三区视频孕妇 | 欧美理论在线播放| 欧美在线观看视频一区二区三区| 亚洲国产高清在线观看视频| 久久国产精品久久久久久久久久| 亚洲精品乱码久久久久久按摩观| 99国产精品99久久久久久| 香蕉亚洲视频| 91久久久在线| 精品1区2区| 国产欧美 在线欧美| 欧美日韩成人在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲欧美精品在线观看| 日韩视频在线你懂得| 亚洲激情在线激情| 美女主播一区| 蜜臀a∨国产成人精品| 欧美一级艳片视频免费观看|