五月天青色头像情侣网名,国产亚洲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)的評論 (共 條)

分享到微博請遵守國家法律
都江堰市| 永登县| 依兰县| 景东| 昭觉县| 穆棱市| 方正县| 新沂市| 娄烦县| 芮城县| 寿阳县| 沽源县| 高阳县| 麟游县| 巴马| 广西| 崇州市| 汝南县| 永仁县| 新干县| 饶平县| 长葛市| 富顺县| 大姚县| 曲阜市| 五指山市| 彩票| 广灵县| 宁津县| 镇坪县| 梁平县| 清涧县| 浦江县| 任丘市| 定远县| 晋城| 临沧市| 板桥市| 宣化县| 南京市| 铁岭县|