C语言中如何实现串的模式匹配算法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计846个文字,预计阅读时间需要4分钟。
C语言中字符串的匹配模式:正则表达式匹配+字符串的模式匹配问题:朴素算法与KMP算法
C语言数据结构中串的模式匹配
串的模式匹配问题:朴素算法与KMP算法
#include<stdio.h> #include<string.h> int Index(char *S,char *T,int pos){ //返回字串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0. //其中,T非空,1<=pos<=StrLength(s). int i=pos; int j=1; while(i<=S[0]&&j<=T[0]){ if(S[i]==T[j]){++i;++j;} else{i=i-j+2;j=1;} } if(j>T[0]) return i-T[0]; else return 0; } int get_next(char *T,int next[]){ //求模式串T的next函数值并存入数组next。
本文共计846个文字,预计阅读时间需要4分钟。
C语言中字符串的匹配模式:正则表达式匹配+字符串的模式匹配问题:朴素算法与KMP算法
C语言数据结构中串的模式匹配
串的模式匹配问题:朴素算法与KMP算法
#include<stdio.h> #include<string.h> int Index(char *S,char *T,int pos){ //返回字串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0. //其中,T非空,1<=pos<=StrLength(s). int i=pos; int j=1; while(i<=S[0]&&j<=T[0]){ if(S[i]==T[j]){++i;++j;} else{i=i-j+2;j=1;} } if(j>T[0]) return i-T[0]; else return 0; } int get_next(char *T,int next[]){ //求模式串T的next函数值并存入数组next。

