1实现串连接,把两个串首尾相连。 2求子串。将串S从第pos个字符开始,长度为len的字符序列复制到串sub中,pos位置需合法; 3串比较。 4实现BF算法,写出匹配过程。
时间: 2024-10-24 10:02:57 浏览: 15
PHP字符串的连接的简单实例
1. 实现串连接,通常在编程中我们会使用加法操作或者特定函数。比如在C++中,可以这样做:
```cpp
std::string concatenateStrings(std::string str1, std::string str2) {
return str1 + str2;
}
```
2. 求子串(substring)在C++中,可以用substr()函数:
```cpp
std::string substrExample(std::string S, int pos, int len) {
if (pos >= 0 && pos + len <= S.length()) {
return S.substr(pos, len);
} else {
throw std::out_of_range("Invalid position or length");
}
}
```
3. 对两个字符串进行比较,可以直接使用`==`运算符:
```cpp
bool stringCompare(std::string str1, std::string str2) {
return str1 == str2;
}
```
4. Boyer-Moore (BF) 算法是一种著名的字符串搜索算法,它的匹配过程包括以下步骤:
- 定义一个坏字符数组(BadChar[]),用于记录每个字符最后一次出现的位置。
- 定义一个好后缀表(GoodSuff[]),存储每个后缀的最长后缀匹配的前缀长度。
- 遍历主串(T),对于每个字符t[i]:
- 如果s[j] = t[i],则j -= goodSuffix[j];
- 否则,更新badChar[t[i]] = i;
- 如果j < 0,说明找到匹配,返回i - j。
阅读全文