選擇排序的主要思想是:每趟排序中選取關鍵字值最小的記錄及就是一趟排序中從n個記錄中選取關鍵字最小的,再從n-1個數值中拿到一個次小的 如此循環 直到n=0爲止。java
直接選擇排序(Straight Selection Sort)從n個記錄中選取關鍵字最小的和第一個記錄交換,而後依次類推直到n=0算法
算法性能分析:性能
(1) 空間複雜度 直接選擇排序只用了一個輔助單元spa
(2) 時間複雜度 O(n*n)code
(3) 算法的穩定性 不穩定的排序算法orm
具體代碼以下:排序
public static Object[] selectSort(Object[] arr){ for(int i=0;i<arr.length;i++){ int min=i; for(int j=i+1;j<arr.length;j++){ if((Integer)arr[min]>(Integer)arr[j]){ min=j; } } if(min!=i){ Object obj=arr[i]; arr[i]=arr[min]; arr[min]=obj; } } return arr; }