奥普瓯江 发表于 2020-1-2 14:35:55

BF算法学习笔记

#include <stdio.h>
int main()
{
        char str1[] = "IloveFFFishC.com";   //主字符串
        char str2[] = "FishC";         //比较字符串

        int i = 1,j = 1;
        while(str1 != '\0' && str2 != '\0')//如果主字符串或者比较字符串任意个下标等于'\0'该循环结束
        {
                if (str1 == str2)   //判断两个字符串该下标段数据是否相等
                {
                        j++;                               //如果相等对比字符串下标数加1
                }
                else                  //如果不相等,比较字符串下标归零,主字符串加一比较字符串与下标归零与主字符串下一个字符进行比较                                       
                {
                        i = i - j + 1;   //回溯到匹配首位因为下标是以零开始的所以采用了下标加一的方法
                        j = 1;                               
                }
                i++;                                        //主字符串在此加一
        }
        if (str2 == '\0')
        {
                printf("OK\n");
        }
        else
        {
                printf("NO\n");
        }
        return 0;
}
页: [1]
查看完整版本: BF算法学习笔记