五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

王道計算機考研 數(shù)據(jù)結(jié)構(gòu)

2023-07-12 17:59 作者:冷漠的學(xué)習(xí)機器G  | 我要投稿

void nextArr(const char* sub, int* next)

{

int len = strlen(sub);

next[0] = -1;

next[1] = 0;

int i = 2;

int k = 0;

while (i < len)

{

if (k == -1 || sub[i - 1] == sub[k])

{

next[i] = k + 1;

k++;

i++;

}

else

{

k = next[k];

}

}

}

int * nextValArr(int* next,int lenSub,const char?*sub,int *nextVal)

{

nextVal[0] = -1;

for (int j = 1; j < lenSub; j++)

{

if (sub[j] == sub[next[j]])

{

nextVal[j] = next[next[j]];

}

else

{

nextVal[j] == next[j];

}

}

return nextVal;

}

int Kmp(const char* str, const char* sub)

{

if (sub == "")

return 0;

int i = 0;

int j = 0;

int lenStr = strlen(str);

int lenSub = strlen(sub);

if (lenSub == 1)

{

for (int a = 0; a < lenStr; a++)

{

if (str[a] == sub[0])

return a;

}

return -1;

}

int* next = (int*)malloc(sizeof(int) * lenSub);

nextArr(sub, next);

int* nextVal = (int*)malloc(sizeof(int) * lenSub);

nextVal = nextValArr(next, lenSub,sub,nextVal);

while (i < lenStr && j < lenSub)

{

if ((j == -1) || str[i] == sub[j])

{

i++;

j++;

}

else

{

j = nextVal[j];

}

}

free(next);

if (j >= lenSub)

{

return i - j;

}

return -1;


}

自學(xué)一下午自己寫的KMP

王道計算機考研 數(shù)據(jù)結(jié)構(gòu)的評論 (共 條)

分享到微博請遵守國家法律
洛浦县| 广南县| 扶绥县| 博湖县| 正宁县| 玉树县| 阆中市| 保定市| 衡水市| 盱眙县| 澎湖县| 阳信县| 巫山县| 塔河县| 马边| 息烽县| 静乐县| 邯郸市| 栖霞市| 河南省| 静宁县| 稻城县| 尼勒克县| 嘉兴市| 昌平区| 如东县| 上林县| 织金县| 宁晋县| 托克逊县| 多伦县| 霸州市| 出国| 肃北| 五大连池市| 肇州县| 岳西县| 二连浩特市| 应城市| 凌源市| 读书|