int StrBF(LinkStrNode*& s1, LinkStrNode*& s2) {
int i = 0, j = 0;
LinkStrNode* p, * q;
p = s1->next, q = s2->next;
while (i < StrLength(s1) && j < StrLength(s2)) {
if (p->data == q->data) {
i++, j++;
p = p->next;
q = q->next;
}
else {
i = i - j + 1;
j = 0;
q = s2->next;
p = s1->next;
for (int k = 1; k <= i; k++) {
p = p->next;
}
}
}
if (j >= StrLength(s2))
return (i - StrLength(s2)+1);
else
return (-1);
}
实现链串的BF算法
最新推荐文章于 2023-11-29 13:38:07 发布