package com.q.buffer;
import java.lang.reflect.Array;
import java.util.Arrays;
/*
* 冒泡排序
* */
public class Buffer1 {
public int[] bufferSort(int[] array){
//中间转换者
int temp = 0;
//冒泡排序分为两个部分:外层循环和内层循环
/*
* 外层循环 需要执行 array.length-1
* */
for (int i = 0; i < array.length-1; i++) {
boolean flag = false;
System.out.println(Arrays.toString(array));
for (int j = 0; j < array.length-1; j++) {
if (array[j + 1] > array[j]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
flag = true;
}
System.out.println("第"+i+"."+j+"次比较"+ Arrays.toString(array));
}
if(!flag){
break;
}
System.out.println("第"+i+"次比较"+ Arrays.toString(array));
}
return array;
}
public static void main(String[] args) {
Buffer1 bubble = new Buffer1();
int[] array = {2,5,1,6,4,9,8,5,3,1,2,0};
int[] sort = bubble.bufferSort(array);
for (int num:sort){
System.out.print(num+"\t");
}
}
}
结果:
[2, 5, 1, 6, 4, 9, 8, 5, 3, 1, 2, 0]
第0.0次比较[5, 2, 1, 6, 4, 9, 8, 5, 3, 1, 2, 0]
第0.1次比较[5, 2, 1, 6, 4, 9, 8, 5, 3, 1, 2, 0]
第0.2次比较[5, 2, 6, 1, 4, 9, 8, 5, 3, 1, 2, 0]
第0.3次比较[5, 2, 6, 4, 1, 9, 8, 5, 3, 1, 2, 0]
第0.4次比较[5, 2, 6, 4, 9, 1, 8, 5, 3, 1, 2, 0]
第0.5次比较[5, 2, 6, 4, 9, 8, 1, 5, 3, 1, 2, 0]
第0.6次比较[5, 2, 6, 4, 9, 8, 5, 1, 3, 1, 2, 0]
第0.7次比较[5, 2, 6, 4, 9, 8, 5, 3, 1, 1, 2, 0]
第0.8次比较[5, 2, 6, 4, 9, 8, 5, 3, 1, 1, 2, 0]
第0.9次比较[5, 2, 6, 4, 9, 8, 5, 3, 1, 2, 1, 0]
第0.10次比较[5, 2, 6, 4, 9, 8, 5, 3, 1, 2, 1, 0]
第0次比较[5, 2, 6, 4, 9, 8, 5, 3, 1, 2, 1, 0]
[5, 2, 6, 4, 9, 8, 5, 3, 1, 2, 1, 0]
第1.0次比较[5, 2, 6, 4, 9, 8, 5, 3, 1, 2, 1, 0]
第1.1次比较[5, 6, 2, 4, 9, 8, 5, 3, 1, 2, 1, 0]
第1.2次比较[5, 6, 4, 2, 9, 8, 5, 3, 1, 2, 1, 0]
第1.3次比较[5, 6, 4, 9, 2, 8, 5, 3, 1, 2, 1, 0]
第1.4次比较[5, 6, 4, 9, 8, 2, 5, 3, 1, 2, 1, 0]
第1.5次比较[5, 6, 4, 9, 8, 5, 2, 3, 1, 2, 1, 0]
第1.6次比较[5, 6, 4, 9, 8, 5, 3, 2, 1, 2, 1, 0]
第1.7次比较[5, 6, 4, 9, 8, 5, 3, 2, 1, 2, 1, 0]
第1.8次比较[5, 6, 4, 9, 8, 5, 3, 2, 2, 1, 1, 0]
第1.9次比较[5, 6, 4, 9, 8, 5, 3, 2, 2, 1, 1, 0]
第1.10次比较[5, 6, 4, 9, 8, 5, 3, 2, 2, 1, 1, 0]
第1次比较[5, 6, 4, 9, 8, 5, 3, 2, 2, 1, 1, 0]
[5, 6, 4, 9, 8, 5, 3, 2, 2, 1, 1, 0]
第2.0次比较[6, 5, 4, 9, 8, 5, 3, 2, 2, 1, 1, 0]
第2.1次比较[6, 5, 4, 9, 8, 5, 3, 2, 2, 1, 1, 0]
第2.2次比较[6, 5, 9, 4, 8, 5, 3, 2, 2, 1, 1, 0]
第2.3次比较[6, 5, 9, 8, 4, 5, 3, 2, 2, 1, 1, 0]
第2.4次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第2.5次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第2.6次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第2.7次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第2.8次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第2.9次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第2.10次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第2次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第3.0次比较[6, 5, 9, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第3.1次比较[6, 9, 5, 8, 5, 4, 3, 2, 2, 1, 1, 0]
第3.2次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.3次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.4次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.5次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.6次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.7次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.8次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.9次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3.10次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第3次比较[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
[6, 9, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.0次比较[9, 6, 8, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.1次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.2次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.3次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.4次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.5次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.6次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.7次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.8次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.9次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4.10次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第4次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.0次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.1次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.2次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.3次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.4次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.5次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.6次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.7次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.8次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.9次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
第5.10次比较[9, 8, 6, 5, 5, 4, 3, 2, 2, 1, 1, 0]
9 8 6 5 5 4 3 2 2 1 1 0
Process finished with exit code 0