当前位置:首页 » 编程语言 » bf算法c语言

bf算法c语言

发布时间: 2022-06-10 02:14:10

1. BF算法c语言实现:

int Index(SString S,SString T,int pos)
{ /* 返回子串T在主串S中第pos个字符之后的位置。若不存在,则函数值为0。 */
/* 其中,T非空,1≤pos≤StrLength(S)。算法4.5 */
int i,j;
if(1<=pos&&pos<=S[0])
{
i=pos;
j=1;
while(i<=S[0]&&j<=T[0])/*S[0],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;
}
else
return 0;
}

2. 一个简单的小程序 C语言 BF算法

引用没问题,就是BF函数错了。

#include<stdio.h>
#include<string.h>
#include<iostream>//.h去掉
usingnamespacestd;//命名空间

intBF(charS[],charT[])
{
inti,j,start;
i=0;
j=0;
start=0;
while(S[i]!=''&&T[j]!='')//T[i]改为T[j]
{
if(S[i]==T[j])
{
i++;j++;
}
else{
start++;
i=start;
j=0;
}
}
if(T[j]=='')
returnstart+1;//start+1,因为数组从0开始计数
else
return0;
}

intmain()
{
charS[1000],T[1000];
intstart;
printf("输入主串: ");
scanf("%s",S);
printf("%s ",S);
printf("输入子串: ");
scanf("%s",T);
printf("%s ",T);
start=BF(S,T);
cout<<"主串与子串在主串的第"<<start<<"个字符匹配"<<endl;

}

3. C语言:KMP算法在什么情况下,比较次数会比BF算法多,难道无人能解吗,有解的话求测试例子!求大神快来解

当模式串与首次匹配前文本串的所有后缀的公共前缀长度之和小于模式串与首次匹配前文本串的长度之和的时候

4. 如何用C语言或者C++在给定文本中查找并定位字符串

http://ke..com/view/4462643.htm
这里有答案。。。你要是还不会的话找我。。QQ群:110675294里面有人会给你回答的

5. c语言字符串操作演示程序设计求大神= =

(1)字符串初始化InitString。--------->InitString()
(2)字符串输入InputString。--------->InputString()
(3)字符串输出OutputString。--------->OutputString()
(4)给定字符串,求串长StringLen。--------->StringLen()
(5)给定位置,串插入InsertStringbyLocation。--------->InsertStringbyLocation()
(6)BF算法查找字符串BFSear1ch。--------->BFSear1ch()
(7)KMP算法查找字符串KMPSearch。--------->KMPSearch()
你的理解有问题,剩下的应该怎么做不用我说了,上面的函数都是没有返回值和参数的,这个要你自己定了

热点内容
外网访问黑群晖 发布:2025-02-08 05:45:59 浏览:559
中央存储服务器公司地址 发布:2025-02-08 05:38:48 浏览:821
服务器如何查询表空间的文件路径 发布:2025-02-08 05:38:00 浏览:162
宏基4741g哪个配置好 发布:2025-02-08 05:37:56 浏览:810
混合料运输车的配置是如何计算的 发布:2025-02-08 05:31:35 浏览:293
android红包插件 发布:2025-02-08 05:31:34 浏览:365
ea服务器怎么连接 发布:2025-02-08 05:16:45 浏览:463
更加密更改 发布:2025-02-08 05:15:20 浏览:786
仓储资源配置都需要开展哪些任务 发布:2025-02-08 05:13:51 浏览:676
探针数据库 发布:2025-02-08 05:13:35 浏览:80