输出顺序串中最长的重复子串
2016-04-12 17:25
337 查看
结果如图:
代码:
#include<malloc.h>
#include<string.h>
#include<cstdio>
#include"list.h"
using namespace std;
SqString *MaxSubStr(SqString s)
{
int index=0,length=0,length1,i=0,j,k;
while(i<s.length)
{
j=i+1;
while(j<s.length)
{
if(s.data[i]==s.data[j])
{
length1=1;
for(k=1; s.data[i+k]==s.data[j+k]; k++)
length1++;
if(length<length1)
{
length=length1;
index=i;
}
j+=length1;
}
else j++;
}
i++;
}
SqString *sp;///建立了一个顺序串,用来输出最长子串
sp=(SqString *)malloc(sizeof(SqString));
sp->length=length;
for(i=0;i<length;i++)
sp->data[i]=s.data[index+i];
return sp;
}
int main()
{
SqString s,*sp;
char str[MaxSize];
printf("请输入字符串:\n");
gets(str);
StrAssign(s,str);
printf("显示原字符串:\n");
DispStr(s);
sp=MaxSubStr(s);
printf("输出最长重复子串:\n");
DispStr(*sp);
return 0;
}
代码:
#include<malloc.h>
#include<string.h>
#include<cstdio>
#include"list.h"
using namespace std;
SqString *MaxSubStr(SqString s)
{
int index=0,length=0,length1,i=0,j,k;
while(i<s.length)
{
j=i+1;
while(j<s.length)
{
if(s.data[i]==s.data[j])
{
length1=1;
for(k=1; s.data[i+k]==s.data[j+k]; k++)
length1++;
if(length<length1)
{
length=length1;
index=i;
}
j+=length1;
}
else j++;
}
i++;
}
SqString *sp;///建立了一个顺序串,用来输出最长子串
sp=(SqString *)malloc(sizeof(SqString));
sp->length=length;
for(i=0;i<length;i++)
sp->data[i]=s.data[index+i];
return sp;
}
int main()
{
SqString s,*sp;
char str[MaxSize];
printf("请输入字符串:\n");
gets(str);
StrAssign(s,str);
printf("显示原字符串:\n");
DispStr(s);
sp=MaxSubStr(s);
printf("输出最长重复子串:\n");
DispStr(*sp);
return 0;
}
相关文章推荐
- StarUML使用说明-指导手册
- GET,POST——简述
- 数据库的几种连接查询
- 微信退款和支付宝退款接口调用(java版)
- Eclipse异常关闭后启动闪退
- 自己搭建php服务器(可接受表单提交,并返回页面)
- 自学记录5#深入浅出数据分析
- 微信退款和支付宝退款接口调用(java版)
- 【机器学习实战二:朴素贝叶斯算法之过滤垃圾邮件】
- View的事件体系——View的位置参数
- tomcat7用jndi配置数据源出现java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addResourceRef
- Tyvj_P1004
- 【原创】k8s源码分析-----kubelet(6)statusManager
- SQL多表连接查询(详细实例)
- 正则表达式验证生日手机号信息
- C语言中的位操作
- I/O重定向:改变了数据的输出或输入来源
- 第七周上机实践项目2:友元类
- Java集合之ArrayList和LinkedList的实现原理以及Iterator详解
- Frozen your python script with PyInstaller - Linux Instance