用C语言写一个next数组的代码
时间: 2023-12-29 17:48:30 浏览: 100
使用C语言实现vector动态数组的实例分享
以下是一个简单的用C语言实现next数组的代码:
```c
void getNext(char* pattern, int* next) {
int i = 0, j = -1;
next[0] = -1;
while (pattern[i]) {
if (j == -1 || pattern[i] == pattern[j]) {
i++;
j++;
next[i] = j;
}
else {
j = next[j];
}
}
}
```
其中,`pattern`为要匹配的模式串,`next`为存储next数组的数组。运行该函数后,`next`数组中存储的就是`pattern`的next数组。
阅读全文