模式匹配kmp算法
2011-05-20 09:53
267 查看
#include <string.h> #include <stdio.h> void kmp() // pattern match { char pat[] = "abaabcac"; char text[] = "acabaabaabcacaabc"; int i, j, pLen = strlen(pat), tLen = strlen(text); int preVal[8]; preVal[0] = -1; i = 0, j = -1; printf ("preVal : %d ", preVal[0]); while (i < pLen-1) { if (j == -1 || pat[i] == pat[j]) { ++i; ++j; if (pat[i] != pat[j]) preVal[i] = j; else preVal[i] = preVal[j]; printf ("%d ", preVal[i]); } else { j = preVal[j]; } } printf ("/n"); i = 0, j = 0; while (j < pLen && i < tLen) { if (j == -1 || pat[j] == text[i]) { ++i; ++j; } else j = preVal[j]; } if (j == pLen) printf ("i = %d.", i); //puts (text+(i - pLen)); else printf ("not found!/n"); }
相关文章推荐
- KMP算法----模式匹配的一种改进算法
- KMP算法--字符串模式匹配算法
- 模式匹配(第二篇KMP算法
- 模式匹配的Brute-Force算法和KMP算法
- 模式匹配KMP算法实现
- KMP算法------串的模式匹配(Java)
- 改进的模式匹配算法——KMP算法
- 改进的模式匹配算法——KMP算法
- 4.3模式匹配-KMP算法
- 数据结构 模式匹配BF和KMP算法实现
- 串--->串的模式匹配:Brute-Force算法和 KMP算法
- 大话数据结构十一:字符串的模式匹配(KMP算法)
- (五)串的模式匹配——BF算法和KMP算法
- Java数据结构之字符串模式匹配算法---KMP算法
- 串模式匹配的改进算法——KMP算法
- 第八周项目实践6 KMP算法(串的模式匹配)
- 改进的模式匹配算法——KMP算法
- 改进的模式匹配算法——KMP算法
- 模式匹配的KMP算法详解
- 串的模式匹配算法:BF算法与KMP算法