JAVA常用排序算法之簡單選擇排序。
常用於取序列最大與最小的幾個數時,這是一種不穩定的排序算法。當i=1時,需要進行n-1次比較,當i=2時,需要進行n-2次比較,依次類推,共需要(n-1)+(n-2)+…+2+1=n(n-1)/2次比較,所以時間複雜度是O(N^2),進行移動操作的時間複雜度爲O(N)。
算法的步驟是:首先將第一個和後面的所有的數進行比較,將最小的放在前面。然後從第二個開始重複第一個過程,直到最後一數據排列完。
具體的代碼如下:
public class Demo5 {
/**
* 常用排序算法之簡單選擇排序
*/
public static void main(String[] args) {
int min=0;
int[]arr={3,9,89,76,56,108};
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if (arr[j]<arr[i]) {
min=arr[j];
arr[j]=arr[i];
arr[i]=min;
}
}
}
for (int i : arr) {
System.out.print(i+" ");
}
}
}