KMP模式匹配算法
2014-09-07 10:37
134 查看
#include <stdio.h> #include<stdlib.h> #include <ctype.h> typedef unsigned char u8; void get_next(u8 *T,int *next) { int i,j; i = 1; j = 0; next[1] = 0; while( i < T[0]) { if( j == 0 || T[i] == T[j]) { i++; j++; next[i] = j; } else j = next[j]; } } int Index_KMP( u8 *S, u8 *T, int pos) { int i = pos; int j = 1; int next[255]; get_next( T, next); while( i <= S[0] && j <= T[0]) { if( j == 0 || S[i] == T[j]) { i++; j++; } else { j = next[j]; } } if( j > T[0]) return i - T[0]; else return 0; } int main(int argc, char *argv[]) { u8 s[] = " abacdaaabcdesiosjdifiejfi"; u8 t[] = " cdesios"; s[0] = sizeof(s) - 2; t[0] = sizeof(t) - 2; // for( i = 0; i < j; i++) printf("%d",Index_KMP( s, t, 1)); while(1); return 0; }
相关文章推荐
- 一种比KMP更优的字符串模式匹配算法
- KMP模式匹配算法
- KMP模式匹配算法的一些理解
- 快速模式匹配算法(KMP)
- KMP模式匹配算法
- 模式匹配 -- KMP 算法原理与实现
- 串的模式匹配算法(非kmp)
- KMP模式匹配算法实现与改进
- 【原创】朴素的模式匹配和改进的模式匹配(KMP)算法说明(草稿)
- 串的模式匹配算法 穷举与KMP
- 字符串的模式匹配算法 KMP
- KMP模式匹配算法 C++实现
- KMP 模式匹配算法原理分析
- 串的模式匹配算法---KMP
- KMP模式匹配算法分析与实现
- poj 3461 KMP模式匹配算法
- 模式匹配算法kmp
- 字符串模式匹配(所谓的kmp)算法
- KMP模式匹配算法
- KMP模式匹配算法实现