冒泡排序理解:假设这里有一个数组int[] arr = new int[]{5,6,8,2,4,3,6},
然后arr[0]与arr[1]比较,如果arr[0]>arr[1],它们就交换位置,否则就不变。
然后arr[1]与arr[2]比较,如果arr[1]>arr[2],它们就交换位置,否则就不变。
........就这样直到整个数组都比较完,
这样就可以把最大的一个数排到最前面,第二大的数同理,其余数也同理。
import java.util.Arrays;
public class 冒泡排序 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr = new int[] {1,5,8,63,5,4,2,6,5,56,12};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void bubbleSort(int[] arr) {
//控制天花板:逐步去找最大的数,第二大的数.......
for(int tianHuaBan = arr.length;tianHuaBan>=0;tianHuaBan--) {
//把天花板范围内的最大的数顶到天花板
for(int i=0;i<arr.length-1;i++) {
if(arr[i]>arr[i+1]) {
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
}
}