目录
冒泡排序
for (int i = 0; i < numbers.length - 1; i++) { //控制轮
for (int j = 0; j < numbers.length - 1 - i; j++) {//控制交换次数
//比较当前值和下一个值的大小
if (numbers[j] > numbers[j + 1]){
//数据交换
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
选择排序
int[] numbers = {3,9,2,6,1};
//控制轮
for (int i = 0; i < numbers.length - 1; i++) {
//最小值所在的索引位置
int minIndex = i;
//比较(比较元素的索引的范围)
//j = i + 1 : 因为每i轮的第i个索引位置的元素当成最小值 所以要比较的范围就要从i+1开始到最后
for (int j = i + 1; j < numbers.length; j++) {
//比较两个数的大小
if (numbers[minIndex] > numbers[j]){//说明当前记录的最小值不是最小的
//重新修改最小值的索引值
minIndex = j;
}
}
if (minIndex != i) {
//交换-将该轮找到的最小值和第i个位置进行位置交换--- 我们排序是从小到大
int temp = numbers[minIndex];
numbers[minIndex] = numbers[i];
numbers[i] = temp;
}
}
System.out.println(Arrays.toString(numbers));