回覆列表
  • 1 # 使用者1465424935672

    這裡是借用第三個陣列。

    原理:先將兩個陣列複製到第三個陣列中,然後對第三個陣列排序

    如果不使用第三個函式,那麼下面這個函式一樣可以做到,不過函式宣告就要改成:

    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;

    }

  • 中秋節和大豐收的關聯?
  • 旅遊中你在機場熬過夜嗎?