public static void bubbleSort(int[] n) {
for (int j = 0; j < n.length - 1; j++) { // 需要进行n-1躺
boolean flag = false;// 标志
for (int i = 0; i < n.length - 1 - j; i++) { // 第j躺时只需比较到n-1-j处即可,后面的已经排好序了
if (n[i] > n[i + 1]) { // 按从小到大排序
int temp = n[i];//交换两元素值
n[i] = n[i + 1];
n[i + 1] = temp;
flag = true;// 若有元素交换将flag置true则还需要继续下一趟排序
}
}
if (!flag) { //若不为true则跳出循坏
break;
}
}
System.out.println(Arrays.toString(n));
}
冒泡排序的思想:
从第一个元素开始每一个元素与其后面紧挨的元素相比较,若前面元素大于后面元素则交换两元素的值(从小到大排序)第一躺遍历完所有元素之后,最大的值即排到了最后
再进行下一趟遍历,知道所有元素都排好序。