演算法之排序2 選擇排序

2021-09-01 20:14:25 字數 522 閱讀 9749

選擇排序的基本思想:每次選擇出乙個最大(最小)的數,放到最前(最後)。

其實選擇排序和氣泡排序非常類似,每一次計算都是選出乙個最大(最小)的數,差異在於處理的方式不一樣。

第一次選擇:用第乙個數,逐次比對後面的所有的數,把更小的數放在第一位;

第二次選擇:用第二個數,逐次比對後面的所有的數,把更小的數放在第二位;

第n-1次選擇:用第n-1個數,比對第n個數,把更小的數放在第n-1位;

**示意:

public static void paixu() ;// 待排序的值

for (int i = 0; i < a.length - 1; i++)

} }}

對比之前的氣泡排序,其實二者非常接近,都是每次找出最大(最小)的數,放在最前(最後),唯一的區別在於,找出最數過程中的區別。從時間複雜度來說,二者是一致的,都是雙重迴圈;但是從資料交換的頻次來講,氣泡排序的次數可能會要多一些,一次相對而言,選擇排序的效率要稍高於氣泡排序。

排序演算法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...