最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
麻江县| 永登县| 宁河县| 通州市| 封丘县| 屯昌县| 安图县| 遂宁市| 梁山县| 萝北县| 江源县| 古丈县| 台南县| 平阴县| 汤原县| 蓝田县| 固始县| 元朗区| 浦县| 同仁县| 崇阳县| 保定市| 个旧市| 阳东县| 东宁县| 宁津县| 麻城市| 阳曲县| 乐山市| 通河县| 电白县| 清苑县| 巴林右旗| 泽库县| 宽城| 永嘉县| 黑龙江省| 如皋市| 北票市| 崇阳县| 南阳市|