原理:每一次排序从待排序的数据元素中选择出最大(最小)的一个元素,存放在序列的起始位置,直到全部待排序的数据排完
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[]= {1,4,6,8,9,4,3,7};
for(int i=0; i<arr.length; i++){
int min = arr[i];
int temp;
int index = i;
for(int j=i+1;j<arr.length;j++){
if(arr[j] < min){
min = arr[j];
index = j;
}
}
temp = arr[i];
arr[i] = min;
arr[index]= temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
}
注意:算法的时间复杂度是O(n*n)的,意味着值在n比较小的情况下,算法可以保证一定的速度,但是当n足够大的时候,算法的效率会降低。