急~求KMP算法
void Get_NEXT() { next[1]=0; i=1;j=0; printf("请输入要匹配的子串(长度不大于20,不支持单个字符的匹配!):\n"); scanf("%s",t); while(strlen(t)>20) { printf("子串长度超过限制,请重新输入:\n"); scanf("%s",t); } while(i<=strlen(t)) { if(j==0||t[i]==t[j]) { ++i; ++j; next[i]=j; } else j=next[j]; } } void KMP() { int position[500]; int counter=0; char select; i=0; j=1; Get_NEXT(); while(i<=strlen(s)) { if(j==0||s[i]==t[j]) { i++; j++; if(j>=strlen(t)) { counter++; position[counter]=i-strlen(t)+1; } } else { i=i+j-next[j]; j=1; } } if(counter==0) printf("文中没有要匹配的子串!\n\n"); else { printf("子串在文中出现了%d次。\n",counter); for(i=1;i<=counter;i++) printf("位置是:%d\n",position[i]); } } 这是求next的函数和kmp函数,为什么有时候不行? 就像求前几个字符总是找不到,而且大小写好像不区分。。。 总之,好像算法有小错误啊 哪里错了,帮我改改。。。
更新时间:2019-10-24 01:16
其他回答
优酷里面找到两个mv 地址 http://www.youtube.com/watch?v=q8o2igfzdyq http://www.youtube.com/watch?v=zhzeqljawxk&feature=related 可以使用维棠下载 维棠地址: http://www.vidown.cn/
相关问答
更多-
崇州叉车培训在什么地方[2022-03-07]
崇州不容易找到专业的地方学, 来广东这边学的人比较多! -
怀柔什么地方有夜校?[2023-10-03]
怀柔区委党校 计算机班一般都是晚上上课 -
菏泽电厂在什么地方[2023-01-26]
立交桥一直往东走,路南的有个老鹰,往南拐就到了。 -
是不是有一款什么手机软件,可以很自然的拉长腿部?不是美图秀秀,有知道的不?[2022-10-20]
spring -
春天的英语怎么读?[2022-05-21]
spring -
新西兰blue spring属于什么地方[2024-01-17]
Blue Spring在新西兰北岛的著名旅游景点Rotorua,那儿以自然风貌诸如泉水山涧和温泉(硫磺温泉)而闻名,属于北岛比较偏南的位置,比奥克兰还要南边点。所以气候也比较宜人。 -
Spring框架的applicationContext.xml在官方包中什么地方?[2022-01-26]