经典:
private static int[] bubbleSort(int[] ints) { int len = ints.length; for (int i = 0; i < len; i++) { for (int j = 1; j < len - i; j++) { if (ints[j - 1] > ints[j]) { int temp = ints[j]; ints[j] = ints[j-1]; ints[j-1] = temp; } } } return ints; }优化:(获取最新交换数字的边界,下次循环时,边界后的数据不用进行排序比较)
private static int[] bubbleSort(int[] ints) { int len = ints.length; int flag = len; while (flag>0) {//如果flag>0则排序结束 flag = 0; for (int i = 1; i < len; i++) { if (ints[i - 1] > ints[i]) { //前面大于后面则交换数据 int temp = ints[i]; ints[i] = ints[i-1]; ints[i-1] = temp; flag = i; //设置最新边界 } } len = flag;//记录遍历的边界 } return ints; }