選擇排序實現是每趟將循環的一一個數據與後面的數據相比較,得到最小元素,存儲在循環開始出,然後接着重複執行。
實現:
public class Test{
public static void main(String[] args){
int[] data = {1,4,-4,2,7,6,-7,3,9,0};
selectSort(data);
for(int i=0;i<data.length;i++){
System.out.print(data[i]+" ");
}
}
private static void selectSort(int[] data){
for(int i=0;i<data.length;i++){
for(int j=i+1;j<data.length;j++){
if(data[i]>data[j])
swap(data,i,j);
}
}
}
private static void swap(int[] data,int x,int y){
int temp = data[x];
data[x] = data[y];
data[y] = temp;
}
}
選擇排序最差、平均時間複雜度都是O(N²)