C++字符串匹配(一):BF算法
来源:互联网 发布:网页编程入门 编辑:程序博客网 时间:2024/05/18 02:20
算法原理:
BF(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。
下面是C++的算法实现过程:
#include "iostream"
#include "cstring"
#include "stdio.h"
using namespace std;
int Strstr(char s1[], char s2[])
{
int len1 = strlen(s1);//第一个字符串长度
int len2 = strlen(s2);//第二个字符串长度
int n = 0;
for (int i = 0; i < len1; i++)
{
int k = i, j = 0; //将i的值赋给k,便于下面循环的进行
for (j; j < len2;j++,k++)
{
if (s1[k] != s2[j]) //有不同字符时,跳出循环
break;
}
if (j==len2) //如果成功匹配循环结束时,j的值为len2
{
cout << "匹配成功," << "第一次匹配的位置是:第" << i + 1 << "位" << endl;
break; //找到匹配串之后,跳出循环,如果想得到所有的匹配位置,可以注释此行。
}
}
return 0;
}
int main()
{
Strstr("rafewerwffewqrw", "fe");
return 0;
}
运行结果:
- C++字符串匹配(一):BF算法
- 字符串匹配:BF算法
- 字符串匹配算法BF
- BF算法匹配字符串
- 字符串匹配算法--BF算法
- 字符串匹配之BF算法
- 普通字符串匹配(BF算法)
- 字符串匹配之BF算法
- 字符串匹配-KMP、BF算法
- 字符串匹配的BF算法
- 从BF算法到KMP算法(字符串匹配算法)
- 字符串模式匹配(BF算法和KMP算法)
- 算法:字符串匹配、BF/KMP/近似匹配
- 字符串模式匹配算法--BF & KMP算法
- 【算法分析】字符串匹配:BF、KMP算法
- 字符串匹配BF算法和KMP算法
- 字符串模式匹配 BF(Brute Force)算法
- 大话数据结构十:字符串的模式匹配(BF算法)
- R语言做主成分分析
- 自动化测试到底是什么
- JAVA---j2se学习笔记
- ZooKeeper之观察者(watch)
- JS学习笔记-基础理论+数组
- C++字符串匹配(一):BF算法
- 数据结构——二叉树
- JVM 垃圾回收算法及回收器详解
- 此刻可有同知
- mysql-connector-java-6.0.4.jar 异常
- 单元测试
- 取消空格的自动上屏
- win下gvim打开时自动在第一行写入">"字符 附vimrc
- POJ