我真的被困在這里,我不知道為什么我得到了錯(cuò)誤的選擇排序列表。我將 Pencilbox 對(duì)象存儲(chǔ)在兩個(gè)不同的數(shù)組中,在其中一個(gè)數(shù)組中我必須按價(jià)格對(duì)數(shù)組進(jìn)行排序。按價(jià)格排序沒有按預(yù)期工作,我嘗試了很多方法來修復(fù)它,但仍然不起作用。這是我從中提取信息的文本文件-(每個(gè)參數(shù)如下:鉛筆盒的高度、寬度、價(jià)格)12,1,1.4910,2,2.598,1,1.233,3,3.3312,1,1.496,2,3.5010,2,2.59118,2,4.007,2,3.007,3,1.4911,24,2,2.3414,2,6.9910,2,2.598,1,2.35//鉛筆盒的高度、寬度、價(jià)格我得到這個(gè)輸出:12, 1, 1.497, 3, 1.498, 1, 1.23 <=== 1.49 > 1.23 so that's incorrect12, 1, 1.498, 1, 2.354, 2, 2.34 <=== this one's the same, 2.34 < 2.3510, 2, 2.5910, 2, 2.5910, 2, 2.597, 2, 3.03, 3, 3.336, 2, 3.58, 2, 4.014, 2, 6.99基本上,代碼位于三個(gè)不同的文件中,但我在這里將它們組合起來。我標(biāo)記了發(fā)生分離的區(qū)域。如果格式看起來有問題,我真的很抱歉,我已盡力修復(fù)它。我很感激任何反饋
1 回答

ITMISS
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
在 SelectionSort() 方法中,內(nèi)部for j循環(huán)應(yīng)僅用于查找最低索引,并且應(yīng)在內(nèi)部循環(huán)完成后進(jìn)行值的交換for j:
for (int i = 0; i < length - 1; i++) {
int indexLowest = i;
for (int j = i + 1; j < length; j++) {
if (array[indexLowest].getPrice() > array[j].getPrice()) {
indexLowest = j;
}
}
Pencilbox temp = array[i];
array[i] = array[indexLowest];
array[indexLowest] = temp;
}
添加回答
舉報(bào)
0/150
提交
取消