Brute-Force算法是一种字符串模式匹配算法
思想是从主串的第一个字符开始,与子串的第一
个字符比较,若相同则继续比较,若不相同,则
从主串的第二个字符开始与子串的第一个字符继续比较
如此不断比较,若存在字串中的每个字符依次和主串中
的一个连续字符序列相等,则匹配成功,返回字串第一个字符
在主串中的位置
实现:
点击(此处)折叠或打开
-
#include <stdio.h>
-
#include <string.h>
-
#define MAXSIZE 100
-
-
int BF_index(char* s,int start,char* t)
-
{
-
int i=start,j=0,r;
-
while(i<strlen(s) && j<strlen(t)){
-
if(s[i]==t[j]){
-
i++;
-
j++;
-
}
-
else{
-
i=i-j+1;
-
j=0;
-
}
-
}
-
//判断查找是否成功
-
if(j==strlen(t)) return r=i-strlen(t);
-
else
-
r=-1;
-
return r;
-
}
-
int main()
-
{
-
char *str1="cddcdc";
-
char *str2="cdc";
-
printf("从主串中的第%d个字符开使是匹配的。\n",BF_index(str1,0,str2));
-
return 0;
- }