基本原理:
给定数组int []arr={…….},数组的长度为n
第一趟排序:在待排序的数据中选出最小的数据,将它与arr[0]交换
第二趟排序:在待排序的数据arr[1]-arr[n-1]中选出最小的数据与arr[1]交换
…….
以此类推,直到全部排序完成
public class SelectSort {
public static void selectSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int k=i;
//找出最小值的下标
for (int j = i+1; j < arr.length; j++) {
if(arr[j]<arr[k]){
k=j;
}
}
//交换arr[i]和arr[k]
if(k>i){
int temp=arr[i];
arr[i]=arr[k];
arr[k]=temp;
}
}
}
public static void main(String[] args) {
int []arr={ 38, 65, 97, 76, 13, 27,49 };
selectSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
}
}