/** * 冒泡排序-稳定的,两个相同的数-相对位置不变 * * @param num * @return */ public static int[] bubbleSort(int[] num) { if (Objects.isNull(num) || num.length <= 1) { return num; } for (int i = 0; i < num.length - 1; i++) { boolean flag = false; for (int j = 0; j < num.length - 1 - i; j++) { if (num[j] > num[j + 1]) { num[j] = num[j] + num[j + 1]; num[j + 1] = num[j] - num[j + 1]; num[j] = num[j] - num[j + 1]; flag = true; } } if (!flag) break; } return num; }