思路:選擇陣列中的最左邊的元素,下標為0,同時標記此元素為最小元素。將第二個元素與此元素比較,若小於最小元素,則它取而代之成為最小元素。後邊的元素以同樣的道理進行比較和標記,在完全遍歷以後,將具有最小標記的元素和第0個元素進行交換。第二此遍歷的時候則從第二個位置開始進行比較。
**如下:
public class selectsort
}} }
private void swap(int m,int n)
}
效率;
選擇排序和氣泡排序進行了相同的比較次數,執行時間都為o(n2),但是交換次數很小。當元素個數很大時,比較次數是主要的。但是當元素個數很小時,選擇排序更快。
排序演算法2 選擇排序
選擇排序 selection sort 通過多次比較和交換來實現排序,其排序流程如下 1.選取陣列中最小的乙個元素和陣列的第乙個元素交換。2.接著從剩下的所有元素中選擇最小的與第二個元素交換。3.和第二步同樣的方法對剩下的所有元素進行排序,最後便可得到按照從大到小的順序排好陣列中的各元素。具體過程如...
排序演算法 2 選擇排序
簡單選擇排序是一種選擇排序。選擇排序 每趟從待排序的記錄中選出關鍵字最小的記錄,順序放在已排序的記錄序列末尾,直到全部排序結束為止。簡單排序很簡單,它的大致處理流程為 動態效果示意圖 舉例說明,處理過程示意圖如下所示 如圖所示,每趟排序中,將當前第i小的元素放在位置i上。c include incl...
排序演算法2 選擇排序
選擇排序 最好最壞時間複雜度 n 2 public class selectsort 預設最小值 int min 0 記錄最小值下標 int minindex 0 for int i 0 i arr.length 1 i 發現最小值改變才進行交換 if min arr i system.out.pr...