最近老师让写一个求字符串的字串,比如abc的字串为:a , b, c, ab,bc, abc 。自己写的复杂度比较高,好像是O(n*n*n),有谁能更好的,多多指教。
#include "stdio.h"
#include "string.h"
char temp[100];
char* subString(char *ch,int start,int inc);
int main()
{
char ch[100]="abcdefg";//测试abcd
int n=strlen(ch);
int i,j;
char *tt;
for(j=1;j<=n;j++)
{
for(i=0;i<=n-j;i++)
{
tt=subString(ch,i,j);
printf("%s ",tt);
}
printf("\n");
}
return 0;
}
char* subString(char *ch,int start,int inc)
{
int j;
for(j=0;j<inc;j++)
{
temp[j]=ch[start++];
}
temp[j]='\0';
return temp;
}
欢迎更好的,学习。