1.思想:选择排序两两比较,每次都找到这一轮的最小值的下标,通过下标与本轮的第一个数进行换位。(特点:每轮都能找到最小值)
2.代码
for(int i=0;i<nums.length-1;i++) {
int k=i;
for (int j = k + 1; j < nums.length; j++) {
//找到每轮的最小值 记录最小值的下标
//如果k中的数据不是最小值,就把k重新赋值为最小值的小标
if (nums[k] > nums[j]) {
k = j;
}
}
//本轮结束后 让首位值和最小位置的值交换值
int temp = nums[k];
nums[k] = nums[i];
nums[i] = temp;
}
for (int n:nums){
System.out.println(n);
}
结果如图: