1 原理
原理:它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序不符合要求就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换。
2 冒泡排序图解
第一次循环:第一个元素和第二个元素比较,依次左右相邻元素进行比较,比较五次,便可以得出最后一个元素为最大值。
第二次循环:同第一次循环,比较四次,可得出第五个元素的值
第三次循环:同第一次循环,比较三次,可得出第四个元素的值
第四次循环:同第一次循环,比较二次,可得出第三个元素的值
第五次循环:同第一次循环,比较一次,可得出第二个元素以及第一个元素的值。
3 代码详解
public static void main(String[] args) {
int[] arr = {17,24,4,56,20,32};
// 遍历排序前数组
printArray(arr);
// 调用打印方法
bubblingSort(arr);
// 遍历排序后数组
printArray(arr);
}
// 定义排序的方法--冒泡排序
public static void bubblingSort(int[] arr){
// 外循环:控制循环次数,每次循环确定一个最大值
for(int i = 0;i<arr.length-1;i++){
/*
* 内循环:每次循环