BF算法

2022/7/11 1:21:03

本文主要是介绍BF算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 int BF(char *A, char *B) {
 5     int i = 0,j=0;
 6     while(i < strlen(A) && j < strlen(B)) {
 7         if(A[i]==B[j]) {
 8             i++;
 9             j++;
10         } else {
11             i = i - j + 1;    //j代表j(i)移动的距离,i返回初始位置再从下一个开始 
12             j = 0;
13         }
14     }
15     if(j == strlen(B)) 
16         return i - strlen(B) + 1;    //加一是第几个,不加一是下标 
17         
18     return -1;
19 }
20 
21 int main() {
22     char *A = "ababcabcacbab";
23     char *B = "abcac";
24     int num = BF(A, B);
25     printf("A = %s\nB = %s\n", A, B);
26     printf("number = %d\n",num);
27 
28     return 0;
29 }

 



这篇关于BF算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程