`
zhu_jinlong
  • 浏览: 5087 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

两个字符串的最长公共子串

阅读更多
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char * longest(char * a,char *b)
{
int alen=strlen(a);
int blen=strlen(b);
int i,j,index,max=0,num=0;
int start;
for(i=0;i<alen;i++)
for(j=0;j<blen;j++)
{ int start1=i;
int start2=j;
while((start1<=alen-1) && (start2<=blen-1)&& (a[start1++]==b[start2++]) )
num++;
if(num>max)
{
max=num;
start=i;
}
num=0;
}
for(i=start;i<start+max;i++)
printf("%c",a[i]);
char *str=(char *)malloc(max+1);
//str[max]='/0';
strncpy(str,a+start,max);
}
int main()
{ char a[]="abcdabcdcbadffdaccccafg";
char b[]="gfaccccadffdabcdcbadcba";
longest(a,b);
system("pause");
return 0;


}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics