C++ 数据结构之kmp算法中的求Next()函数的算法

2025-05-27 0 49

C++ 数据结构之kmp算法中的求Next()函数的算法

实例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43
#include <iostream>

using namespace std;

void preKmp(char *c, int m, int Next[])

{

int i=1,j=-1;

Next[0]=-2;

while(i<m)

{

if(j==-2)

{

Next[i]=-1;

i++;

j=-1;

}

++j;

if(i==m)

return;

if(c[i]==c[j])

{

Next[i]=j;

++i;

}

else if(j==0)

{

j=-2;

}

else j=Next[j-1];

}

}

int main()

{

cout << "Hello world!" << endl;

char pat[12]="actabactace";

int next[11];

preKmp(pat,11,next);

for(int i=0;i<11;i++)

cout<<"next["<<i<<"]="<<next[i]<<endl;

return 0;

}

C++ 数据结构之kmp算法中的求Next()函数的算法

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 C++ 数据结构之kmp算法中的求Next()函数的算法 https://www.kuaiidc.com/74155.html

相关文章

发表评论
暂无评论