朴素匹配-串
作者:互联网
// 直接代码
#include <stdio.h> int naiveAlgo(const char * MStr, int MStrL, const char *PStr, int PStrL) { int i = 1,j = 1; while(i <= MStrL && j <= PStrL) { // 操作的下表从1开始,取值的下表是从0开始 if (MStr[i-1] == PStr[j-1]) { i++; j++; } else { // 当匹配失败时,为下一次匹配做准备 i = i - j + 2; j = 1; } } // 匹配成功时,j = PStrl + 1 if (j > PStrL) { // 匹配成功,返回模式串第一个在主串中的位标 return i - PStrL; } else { // 匹配失败时,返回0 return 0; } } int main() { const char * mstr = "123456"; // 主串 const char * pstr = "456"; // 模式串 int index = naiveAlgo(mstr, 6, pstr, 3); printf("%d\n", index); return 0; }
。。。
标签:index,匹配,PStrL,int,char,return,朴素,const 来源: https://www.cnblogs.com/hello-dummy/p/16123036.html