冒泡排序
static void bubbleSort1(Integer[] array) {
// 外层: 注意内层如果用begin + 1 作为index , 要防止数组越界的问题出现:
for (int end = array.length; end > 0; end
// 内层:一趟排序下来最大的元素会跑到数组的最右边:
for (int begin = 1; begin < end; begin++) {
// 如果左边的元素比相邻的右边的元素大:
if (array[begin - 1] > array[begin]) {
// 就交换:
int temp = array[begin - 1];
array[begin - 1] = array[begin];
array[begin] = temp;
}
}
}
System.out.println(Arrays.toString(array));
}
选择排序
static void selectSort1(Integer[] array) {
for (int end = array.length - 1; end > 0; end
int maxIndex = 0;
// 一趟循环拿出最大值的index索引是几:
for (int begin = 1; begin <= end; begin++) {
if (array[maxIndex] < array[begin]) {
maxIndex = begin;
}
}
// 拿到最大值的索引后直接和数组中最后的那个值交换:
int temp = array[maxIndex];
array[maxIndex] = array[end];
array[end] = temp;
}
System.out.println("选择排序后数组为:" + Arrays.toString(array));
}