}
SqString *sp;
int index=0,length=0,length1,i=0,j,k; while (i sp=(SqString *)malloc(sizeof(SqString)); sp->length=length; for (i=0;i sp->data[i]=s.data[index+i]; j=i+1; while (j i++; //继续 if (s.data[i]==s.data[j]) //找一子串,其 { } else j++; length1=1; for(k=1;s.data[i+k]==s.data[j+k];k++ length1++; if (length1>length) //将较大长度 { } j+=length1; index=i; length=length1; return sp; void main() { } 连编本工程生成可执行文件Proj4_4.exe.程序的一次执行结果如下: char str[MaxSize]; SqString s,*sp; printf(\输入串:\gets(str); StrAssign(s,str); sp=MaxSubstr(s); printf(\求最长重复子串:\\n\printf(\ 原串:\DispStr(s); printf(\ 最长重复子串:\//输出最长重复子串 DispStr(*sp); //创建串s 四、结果分析总结。 字符串是一种线性结构。在处理在计算机非数值处理中占有重要的地位,如信息检索系统,文字编辑等都是以串数据作为处理对象。通过实验理解了串的基本概念和模式匹配算法。
相关推荐: