BF算法的思想,就是一个字符一个字符的比较,如果不成功,就回溯到最开始第一个匹配成功的字符位置,从下一个字符开始从新进行匹配操作。if return i - j;//j==m说明子串匹配成功;其他算法未完待续......
void get_next //修正前的next数组。int j = 0, i = pos, lens = strlen, lent = strlen;//跳出循环有两种可能,i=lens说明已经遍历完主串,匹配失败;j=lent,说明子串遍历完成,在
给出两个字符串,分别为主串S和子串T,记下标为i,j。图示如下:画图的时候两个串的最后都有‘\0’!!!!因为字符串的最后一位不是‘\0’么 但是我一个不小心忘了画了 也懒得改图了。。你们知道就行。。。。子串从头开始比较,主串往后挪一位开始比较。以此类推。
BF算法是模式匹配中最简单、最直观的算法。该算法最基本的思想是从主串的第 start 个字符起和模式P的第1个字符比较,如果相等,则逐个比较后续字符;比较过程中一旦发现不相等的情况,则回溯到主串的第 start+1 个字符位置,重新和模式P的字符进行比
安科网(Ancii),中国第一极客网
Copyright © 2013 - 2019 Ancii.com
京ICP备18063983号-5 京公网安备11010802014868号