實現思想:
選擇排序的基本思想是每一趟在n-i+1(i =1,2,3...,n-1)個記錄中選取關鍵字最小的記錄作爲有序序列的第i 個記錄。
代碼實現:
public static void chooseSort(int [] arr){
for(int i = 0 ; i < arr.length ; i++){
for(int j = i+1 ; j < arr.length ; j++){
if(arr[j] < arr[i]){
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
測試:
public static void main(String[] args) {
int [] arr = {5,9,1,3,52,13,2,8,4};
chooseSort(arr);
for(int i : arr){
System.out.println(i);
}
}
這裏簡單說下,對於int型數據進行交換時,可以採用如下方式:
a ^= b;
b ^= a;
a ^= b;
但是這種在a,b兩個數據相等的時候,數據會被置成0,所以這種方法需要謹慎使用。