此方法應(yīng)該在選定文件后按字母順序?qū)o定文件中的單詞進(jìn)行排序。一切正常,只是沒有正確排序。輸入文件顯示“kundu is a man kundu man”,但無論我嘗試什么,我都會得到“[is, kundu, a, man, kundu, man]”。我試著拿走“-1”和“+1”,但這無濟(jì)于事。private String[] selectionSort(String[] stringArray){ for(int j = 0; j < stringArray.length - 1; j++) { int min = j; for(int k = j + 1; k < stringArray.length; k++) { if(stringArray[k].compareTo(stringArray[min]) < 0) min = k; swap(stringArray, j, min); //this method swaps the words // by using a temp //swap(intArray, j, min); } } return stringArray;}private void swap(String [] stringArray, int i, int j) //swap method{ String temp = stringArray[i]; stringArray[i] = stringArray [j]; stringArray[j] = temp;}
1 回答

手掌心
TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
您的swap電話應(yīng)該在內(nèi)部循環(huán)之后。喜歡,
private String[] selectionSort(String[] stringArray) {
for (int j = 0; j < stringArray.length - 1; j++) {
int min = j;
for (int k = j + 1; k < stringArray.length; k++) {
if (stringArray[k].compareTo(stringArray[min]) < 0) {
min = k;
}
}
swap(stringArray, j, min);
}
return stringArray;
}
之后,沒有其他更改和您的輸入,我得到
[a, is, kundu, kundu, man, man]
添加回答
舉報(bào)
0/150
提交
取消