我很抱歉,如果我的問題憤怒任何人,因爲有幾個選擇排序相關的問題已經出現在這裏堆棧溢出,但我幾乎看過所有這些,仍然發現自己困惑。如何寫一個選擇正確排序
我只是試圖寫一個選擇排序在正確的格式。但是,我發現很多人在他們中使用兩個IF語句,而另一些則沒有。
我需要知道的是如果選擇排序需要兩個IF語句,還是我寫的方式可以接受?
我最終什麼事到目前爲止,寫的是:
public static int[] selectionsort(int[] anArray){
int temp;
for(int i = 0; i < anArray.length; i++){
for(int leastIndex = i + 1; leastIndex < anArray.length; leastIndex++){
if(anArray[i] > anArray[leastIndex]){
temp = anArray[i];
anArray[i] = anArray[leastIndex];
anArray[leastIndex] = temp;
}
}
}
return anArray;
}
程序沒有運行,但我需要確保我已經排序正確寫入的選擇。
選擇排序的基本功能是什麼?你是否已經在你的代碼中實現了這一點?問自己這些問題,並寫出一些潛在的數據集的方法的每一步,以確保你正確理解它 – andrewdleach
選擇排序是一種算法。排序算法。算法就像食譜!你是否正確遵循食譜?根據算法的定義,你的函數是否是必要的步驟? – Luminous
@andrewdleach選擇排序的基本功能是對我相信的數組進行排序,而我的代碼似乎正確地排列了任何數組。然而,在這裏提出這個問題之前,我開始執行紙上的代碼/計算來看看每次迭代後數組是如何變化的,而且它看起來非常類似於冒泡排序,所以我擔心可能我沒有做對了,寫了一個關於事故的泡沫排序。我擔心這可能是我需要的兩個IF聲明,我到處都可以看到。 – GL007