一、算法思想
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好的数列的最后,直到全部待排序元素排完。
tips:选择排序是不稳定的排序方法。
二、案例
数组排序
public class Test {
public static void main(String []args) {
int[] num = {24, 4, 75, 35, 23, 66}; //需要排序的数组
int min = 0; //用于记录每次比较的最小值得下标
//外循环控制轮数
for(int i=0; i<num.length-1; i++){
min = i; //每轮假设一个最小值的下标
// 内循环控制比较
for(int j=i+1; j<num.length; j++){
if(num[min]>num[j]){
min = j;
}
}
// 判断需要交换的数的下标是否为自己
if(min != i){
num[min] = num[min] + num[i];
num[i]= num[min] - num[i];
num[min]= num[min] - num[i];
}
}
for(int n: num)
System.out.println(n);
}
}