您的位置:首页 > 理论基础 > 数据结构算法

数据结构学习——字符串查找BF算法

2013-06-27 14:21 225 查看
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>

// BF brute-force
int bf(char *s, char *t)
{
int i = 0, j = 0;
int slen, tlen;

slen = strlen(s);
tlen = strlen(t);
printf("slen:%d, tlen:%d.\n", slen, tlen);

if(slen < tlen) return -1;
while(i < slen && j < tlen)
{
if(s[i] == t[j])
{
i++;
j++;
}
else
{
i = i - j + 1;
j = 0;
}
}

if(j == tlen)
{
return i - tlen;
}
else
{
return -1;
}
}

int main(int argc, char * argv[])
{
int ret;
char str[] = "testabc";
char *t = "bcd";

printf("%s - %s %s.\n", argv[0], __DATE__, __TIME__);

ret = bf(str, t);
printf("str: [%s], t: [%s], ret is %d.\n", str, t, ret);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: