#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXLEN 100 typedef struct{ char ch[MAXLEN+1]; int length; }SString; //顺序串结构定义 int Index_BF(SString s,SString t){ //brute force 函数 int i = 1; int j = 1; while(i <= s.length && j <= t.length){ if(s.ch[i]==t.ch[j]){ i++; j++; }else{ i = i - j +2; j = 1; } } if(j > t.length)return i-t.length; return 0; } int main() { SString s,t; s.length = 11; t.length = 3; strcpy(s.ch,"#HELLO WORLD"); //字符从1开始,0位不用 strcpy(t.ch,"#WOR"); printf("%s\n",s.ch); printf("%s\n",t.ch); printf("Index: %d\n",Index_BF(s,t)); return 0; }
c语言 字符串模式匹配Brute-Force 算法
最新推荐文章于 2023-06-16 14:08:01 发布