荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: oopilix (紫薇斋的老伯), 信区: Visual
标 题: VC中分治递归求字符串最大最小值
发信站: 荔园晨风BBS站 (Mon Jul 28 14:27:51 2003), 站内信件
现在用分治递归改成如下,感觉繁了点。直接操作内存,容易失错,不提倡。
unsigned short MaxMin(char *str ,char *Max,char *Min)
{
int n=strlen(str),i=0;
char *p,*q;
char Max1[1],Max2[1],Min1[1],Min2[1];
p=(char*)malloc(sizeof(char)*n);
memset(p,'\0',n+1);
q=p;
if(n==1)
{ *Max=*Min=*str;
return 0;
}
if(n==2)
{
*str>*(str+1)?(*Max=*str,*Min=*(str+1)):(*Min=*str,*Max=*(str+1));
return 0;
}
else
{
strncpy(p,str,n/2);
MaxMin(q,Max1,Min1);
strncpy(p+n/2,str+n/2,n-n/2);
q=p+n/2;
MaxMin(q,Max2,Min2);
*Max= *Max1>*Max2?(*Max1):(*Max2);
*Min= *Min1<*Min2?(*Min1):(*Min2);
}
return 0;
}
--
※ IP来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM:192.168.64.33]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 61.144.235.41]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店