我的氣泡排序代碼只是交換第一個數組項目。所有其他項目都保留爲0.我認爲我的嵌套循環是錯誤的或者我還沒有能夠正確診斷它。所以這裏是我的代碼。爪哇Bubblesort只交換第一個數組項目
public void swap(int i, int j) {
int temp;
temp = i;
i = j;
j = temp;
}
public void sortArray(int [] sourceArray, int [] targetArray, int allArraySize){
for(int i = 0; i < allArraySize; i++) {
targetArray[i] = sourceArray[i];
for (i = 0; i < allArraySize; i++) {
for(int j = i+1; j < allArraySize;j++) {
if(targetArray[i] > targetArray[j]) {
swap(i, j);
}
}
}
}
}
非常感謝您的反饋意見。我(顯然)是編程新手。我已將我的代碼更改爲此。
public void sortArray(int [] sourceArray, int [] targetArray, int allArraySize){
int temp;
for(int i = 0; i < allArraySize; i++) {
targetArray[i] = sourceArray[i];
for (i = 0; i < allArraySize; i++) {
for(int j = i+1; j < allArraySize;j++) {
if(targetArray[i] > targetArray[j]) {
temp = targetArray[i];
targetArray[i] = targetArray[j];
targetArray[j] = temp;
}
}
}
}
}
,結果目前還只能換1項,但現在它是最後1如果有人仍然能夠幫助我將不勝感激。
加上,爲了做到這一點在swap()方法中,你需要像這樣:'void swap(int i,int j,int [] arr){int temp = arr [i]; arr [i] = arr [j]; arr [j] = temp; }' – amit