資料結構:八大排序之簡單選擇排序(選擇排序)
1、演算法思想:在待排記錄中依次選擇關鍵字最小的記錄新增到有序序列中,逐漸縮小範圍直至全部記錄選擇完畢。每一趟從待排的無序區中選出關鍵字最小的記錄,順序放在已排好序的子序列的最後,直至記錄全部排完。
2、複雜度:直接選擇排序的時間複雜度為O(n2)。空間複雜度 O(1) 穩定性 :不穩定的排序方法
3、java程式碼:
package SelectedSort;
import java.util.Arrays;
public class SelectedSort {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] data= {13,38,65,97,76,49,27};
selectedSort(data);
}
public static int[] selectedSort(int[] data){
int min;
int n=data.length;
for(int i=0;i<n-1;i++){
min=i;
for(int j=i+1;j<n;j++){
if(data[j]<data[min]){
min=j;
}
}
if(min!=i){
int tmp=data[i];
data[i]=data[min];
data[min]=tmp;
}
}
System.out.println(Arrays.toString(data));
return data;
}
}
4、執行結果:[13, 27, 38, 49, 65, 76, 97]