c语言代码写串的模式匹配
时间: 2023-09-27 11:08:23 浏览: 90
串的模式匹配是计算机科学中比较基础的算法之一,C语言中的实现也比较常见。这里我给出一个基于Brute-Force算法的串的模式匹配代码示例,可以用于实现简单的字符串匹配功能。代码如下:
```
#include <stdio.h>
#include <string.h>
int match(char* text, char* pattern) {
int n = strlen(text);
int m = strlen(pattern);
int i, j;
for (i = 0; i <= n - m; i++) {
for (j = 0; j < m; j++) {
if (text[i+j] != pattern[j]) {
break;
}
}
if (j == m) {
return i;
}
}
return -1;
}
int main() {
char text[] = "hello world";
char pattern[] = "world";
int pos = match(text, pattern);
if (pos != -1) {
printf("Pattern found at position %d\n", pos);
} else {
printf("Pattern not found\n");
}
return 0;
}
```
上述代码中,`match`函数用于实现串的模式匹配,其中`text`表示文本串,`pattern`表示模式串,函数返回值为模式串在文本串中的起始位置,如果未找到则返回-1。在`main`函数中,我们定义了一个`text`和`pattern`,并调用`match`函数进行匹配,最终输出匹配结果。需要注意的是,该算法的时间复杂度为O(nm),当文本串和模式串较大时,效率较低,可以考虑使用更高效的算法。
阅读全文