java中的选择排序算法
选择排序
public static void main(String[] args) {
int [] arr={2,6,5,8,7,9,4,3,1,0};
for(int num:arr){
System.out.print(num+" ");
}
for(int i=0;i<arr.length-1;i++){
int k = i;
for(int j = k+1;j<arr.length;j++){ //遍历剩余数是否有比当前数更小值,有则记录下标
if(arr[j]<arr[k]){ //判断后一个是否小于当前数
k=j;
}
}
if(i!= k){ //循环剩余数后,通过下标判断,进行两数值交换; 未找到则当前数为最小
int temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
System.out.println();
System.out.println("排序后");
for(int num:arr){
System.out.print(num+" ");
}
}
基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;
然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一
个数比较为止。