當前位置:成語大全網 - 新華字典 - c語言 單詞先按長度排序再按字母表排序

c語言 單詞先按長度排序再按字母表排序

用兩次冒泡排序,

第壹次先排序長度,

第二次排序時,只有在兩個字符串長度相等的情況下,再進行字典序排序。

代碼如下:

for (i = 0; i < N - 1; i++){

for (j = 0; j < N - i - 1; j++){

if (strlen(wordLib[j]) < strlen(wordLib[j + 1])){

strcpy(tmpword, wordLib[j]);

strcpy(wordLib[j], wordLib[j + 1]);

strcpy(wordLib[j + 1], tmpword);

}

}

}

for (i = 0; i < N - 1; i++){

for (j = 0; j < N - i - 1; j++){

if ((strlen(wordLib[j]) == strlen(wordLib[j + 1])) && (strcmp(wordLib[j], wordLib[j + 1]) > 0)){

strcpy(tmpword, wordLib[j]);

strcpy(wordLib[j], wordLib[j + 1]);

strcpy(wordLib[j + 1], tmpword);

}

}

}