當前位置:首頁 » 編程語言 » 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-05-16 05:27:25 瀏覽:487
索尼手機為什麼不能用安卓10 發布:2025-05-16 05:18:46 瀏覽:784
蔚來es6選擇哪些配置實用 發布:2025-05-16 05:18:05 瀏覽:130
小米如何掃碼wifi密碼 發布:2025-05-16 05:13:38 瀏覽:807
樓層密碼是什麼意思 發布:2025-05-16 05:13:37 瀏覽:13
創建文件夾失敗 發布:2025-05-16 05:12:59 瀏覽:396
電腦上如何查詢自己的配置 發布:2025-05-16 05:06:36 瀏覽:105
sql中去重 發布:2025-05-16 04:55:06 瀏覽:893
dwr上傳圖片 發布:2025-05-16 04:49:46 瀏覽:122
base64加密的圖片 發布:2025-05-16 04:35:46 瀏覽:356