冒泡排序(Bubble Sort)
排序过程: 从数组下标 0开始比较相邻元素, 当发现逆序时交换,很像水低开始往上冒泡
冒泡排序的演变过程(从小到大)
- 外循环共进行数组的大小-1次
- 内循环的循环次数是跟着外循环递减
- 如果内循环中, 没有发生一次交换, 说明排序以完成,可以提前结束排序
public static void main(String[] args) {
int arr[] = {
3, 9, -1, 10, -2};
int temp;
System.out.println("排序前");
System.out.println(Arrays.toString(arr));
// 第一趟排序,就是将最大的数排在倒数第一位。结束后,最大的数在最后面。
for (int j = 0; j < arr.length - 1; j++) {
// 如果前面的数比后面的数大,则交换
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
System.out.println("第一趟排序后的数组");
System.out.println(Arrays.toString(arr));
// 第二趟排序,就是将第二大的数排在倒数第二位。
// 由于最后一位是最大数,所以看到最后第二位为止即可。
for (int j