教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

数据结构串匹配源代码 已经运行成功的

来源:网络收集 时间:2026-05-23
导读: #include #include #define MAXSIZE 100 typedef struct{ char data[MAXSIZE]; int length; }SqString; int index_bf(SqString *s,SqString *t,int start); void getNext(SqString *t,int next[]); int index_kmp(SqString *s,SqString *t,int start,int nex

#include #include #define MAXSIZE 100 typedef struct{ char data[MAXSIZE];

int length; }SqString;

int index_bf(SqString *s,SqString *t,int start); void getNext(SqString *t,int next[]);

int index_kmp(SqString *s,SqString *t,int start,int next[]); void show_index();

int index_bf(SqString *s,SqString *t,int start){ int i=start; int j=1; while(i<=s->length &&j<=t->length ){

if(s->data[i]==t->data[j]) {++i;++j;} else{i=i-j+2; j=1;} }

if(j>t->data[0]) return i-t->data[0]; else return 0;

}

void getNext(SqString *t,int next[]){

int i=0,j=-1; next[0]=-1;

while(ilength){ if((j==-1)||(t->data[i]==t->data[j])){ i++;j++;next[i]=j;

}else j=next[j];

}

}

int index_kmp(SqString *s,SqString *t,int start,int next[]){ int i=start;int j=1;

while(i<=s->length &&j<=t->length ){ if(j==0||s->data[i]==t->data[j]) {++i; ++j;} }

if(j>t->data[0]) return i-t->data[0]; else return 0;

else j=next[j];

}

void show_index(){ SqString s,t;

int k,next[MAXSIZE]={0},i; printf(\ printf(\ gets(s.data);

s.length=strlen(s.data); printf(\ gets(t.data);

t.length=strlen(t.data); printf(\ scanf(\

printf(\ getNext(&t,next); printf(\ printf(\

for(i=0;i

printf(\ printf(\}

int main(){ show_index(); return 0; }

数据结构串匹配源代码 已经运行成功的.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/598554.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)