编程语言
首页 > 编程语言> > BF算法

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,return,int,char,算法,num,strlen
来源: https://www.cnblogs.com/ang0/p/16463623.html