这里是借用第三个数组。原理:先将两个数组复制到第三个数组中,然后对第三个数组排序如果不使用第三个函数,那么下面这个函数一样可以做到,不过函数声明就要改成:char* fun(char *dest, char *str, char *dest) /*------------------------------函数--------------------------------*/char* fun(char *str1,char *str2,char *dest) //前提,目标数组能偶容纳两个数组{ char *tmp=dest; char *tmp_dest=dest; if(!dest) return NULL; while(*str1) //将str1复制进dest *tmp++=*str1++; while(*str2) //将str2复制进dest *tmp++=*str2++; tmp_dest--; // while(*++tmp_dest) //选择排序法 { char *tmp_px=NULL; tmp=tmp_dest; while(*++tmp) //找到后面一串的最值 { if(*tmp_dest<*tmp) tmp_px=tmp; } if(!tmp_px) { char ch=*tmp_dest; *tmp_dest=*tmp_px; *tmp_px=ch; } } return dest;}
©本文版权归作者所有,任何形式转载请联系我们:xiehuiyue@offercoming.com。