输入10数,按从小到大(或者从大到小),要用到2个循环,内层循环全部执行完成,只执行一次 int temp =a[j],a[j]=a[i],a[i] = temp
我们平时的程序是内层循环每一次都要执行一次调换数,现在要求你10个数,只允许执行10次int temp =a[j],a[j]=a[i],a[i] = temp,就可以完成排序
我们平时的程序是内层循环每一次都要执行一次调换数,现在要求你10个数,只允许执行10次int temp =a[j],a[j]=a[i],a[i] = temp,就可以完成排序
int[] nums = {9, 0, 3, 2, 4, 1, 5, 8, 7, 6}; for (int i = 0; i < nums.length -1; i++) {
//用maxIndex 保存最大元素的索引
int maxIndex = i;
for (int j = i +1; j < nums.length; j++) {
if(nums[j] > nums[maxIndex])
maxIndex = j;
}
//外循环交换
int temp = nums[i];
nums[i] = nums[maxIndex];
nums[maxIndex] = temp;
}
}