从小到大排序好的数据连接生成新的数据(也是从小到大),并且要去掉重复数据
这里用字符串作为例子,完成本功能的函数是combineStr
旨在示例一下指针的操控(运用了指向指针的指针)
//字符串连接 *pTag 目标字符串 *pa和*pb要进行连接的字符串
void combineStr(char *pTag ,char *pa,char *pb)
{
char **pp;pTag--;
while(*pa||*pb)
{
if(!*pb || *pa && *pa<=*pb)pp=&pa;else pp=&pb;
if(*pTag!=**pp)*++pTag=**pp;(*pp)++;
}
}
//字符串排序
void sort(char *cpStr)
{
char *pa,*pb,ct;
for(pa=cpStr;*pa;pa++)for(pb=pa+1;*pb;pb++)
if(*pa>*pb)ct=*pa,*pa=*pb,*pb=ct;
}
//主函数main
int main(void)
{
char a[256]={0},b[256]={0},c[512]={0};
scanf("%s",a);getchar();sort(a);
scanf("%s",b);getchar();sort(b);
combineStr(c,a,b);//接口调用
printf("\n%s\n",c);
getch();return 0;
}
正文
关于两组有序数据组合成一组有序数据的问题2007-03-26 18:35:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/yzfy/24304.html
阅读(4012) | 评论(9)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论