c语言 用bf算法求子串代码
由于BF算法(暴力匹配算法)是一种朴素的字符串匹配算法,其实现比较简单,以下是一个用C语言实现的BF算法求子串的代码示例:
#include <stdio.h>
#include <string.h>
int main()
{
char text[100], pattern[100];
int i, j, len1, len2, found;
printf("Enter the text: ");
scanf("%s", text);
printf("Enter the pattern: ");
scanf("%s", pattern);
len1 = strlen(text);
len2 = strlen(pattern);
for(i=0; i<=len1-len2; i++)
{
found = 1;
for(j=0; j<len2; j++)
{
if(text[i+j] != pattern[j])
{
found = 0;
break;
}
}
if(found == 1)
{
printf("Pattern found at position %d\n", i+1);
}
}
if(found == 0)
{
printf("Pattern not found in the text.\n");
}
return 0;
}
在上述代码中,我们首先输入了一个文本字符串和一个模式字符串,然后通过循环遍历文本字符串中的每一个可能的子串,再通过内部循环来比较该子串是否与模式字符串匹配。如果匹配成功,则输出该子串在文本字符串中的起始位置;否则,输出未找到匹配的提示信息
原文地址: https://www.cveoy.top/t/topic/doCn 著作权归作者所有。请勿转载和采集!