這裡是借用第三個陣列。
原理:先將兩個陣列複製到第三個陣列中,然後對第三個陣列排序
如果不使用第三個函式,那麼下面這個函式一樣可以做到,不過函式宣告就要改成:
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_px=tmp;
}
if(!tmp_px)
char ch=*tmp_dest;
*tmp_dest=*tmp_px;
*tmp_px=ch;
return dest;
這裡是借用第三個陣列。
原理:先將兩個陣列複製到第三個陣列中,然後對第三個陣列排序
如果不使用第三個函式,那麼下面這個函式一樣可以做到,不過函式宣告就要改成:
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_px=tmp;
}
if(!tmp_px)
{
char ch=*tmp_dest;
*tmp_dest=*tmp_px;
*tmp_px=ch;
}
}
return dest;
}