JAVA代码实现 BF 算法
时间: 2023-07-26 20:22:12 浏览: 155
数据结构与算法代码详解JAVA版
BF 算法,也就是暴力匹配算法,是一种简单但是效率较低的字符串匹配算法。以下是 JAVA 代码实现:
```java
public class BFAlgorithm {
public static int BF(String s, String p) {
int slen = s.length();
int plen = p.length();
for (int i = 0; i <= slen - plen; i++) {
int j;
for (j = 0; j < plen; j++) {
if (s.charAt(i + j) != p.charAt(j)) {
break;
}
}
if (j == plen) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
String s = "hello world";
String p = "world";
int index = BF(s, p);
if (index != -1) {
System.out.println("Pattern found at index " + index);
} else {
System.out.println("Pattern not found");
}
}
}
```
在代码中,`BF` 方法接受两个参数,分别是待匹配的字符串 `s` 和模式串 `p`。函数遍历 `s` 中的所有子串,逐个和模式串 `p` 进行比较。如果找到匹配的子串,则返回其起始位置(位置从 0 开始计数),否则返回 -1。
在 `main` 方法中,我们使用 BF 算法在字符串 `s` 中查找模式串 `p`。如果找到了,则输出其起始位置,否则输出未找到。
阅读全文