每次回把最大的数冒泡到最后一个,然后剩下的数接着冒泡,最终数会从小到大排
package com.array;
import java.util.Arrays;
public class TestBubbleSort {
public static void main(String[] args) {
int[] values={3,1,6,2,9,0,7,4,5,8};
int temp=0;
for(int i=0;i<values.length-1;i++){
boolean flag=true;//如果整个循环没变,则结束
for(int j=0;j<values.length-1-i;j++){
if(values[j]>values[j+1]){ //如果后面一个比前大,则交换
temp=values[j];
values[j]=values[j+1];
values[j+1]=temp;
flag=false;
}
System.out.println(Arrays.toString(values));
}
if(flag){
System.out.println("结束");
break;
}
System.out.println("############");
}
}
}