// 编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad" // 采用后缀数组,利用归并排序当中的思想。 // class CMaxCommon:public CTest { public: static int com(const void *s1,const void *s2) { return strcmp(*(char**)s1,*(char **)s2); } int get(char *s1,char *s2,char *buf) { char *p=s1; while(*s1!='\0'&&*s2!='\0'&&*s1==*s2) { *buf=*s1; s1++; s2++; buf++; } *buf='\0'; return s1-p; } void Test() { char str1[]="abccade"; char str2[]="dgcadde"; int len1=strlen(str1); int len2=strlen(str2); int i,j,k; char **pf1=new char*[len1]; char **pf2=new char*[len2]; for(i=0;imax) { max=t; strcpy(maxbuf,buf); } if(strcmp(pf1[i],pf2[j])<=0) // 比较两个字符串的大小 { i++; } else j++; } cout< <