
需求: 数组元素:{24, 69, 80, 57, 13} 请对数组元素进行排序。 冒泡排序 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处
/*
* 冒泡排序
* 1,返回值类型,void
* 2,参数列表,int[] arr
*
* int[] arr = {24, 69, 80, 57, 13};
*
* 第一次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3],arr[3]与arr[4]比较4次
第二次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3]比较3次
第三次:arr[0]与arr[1],arr[1]与arr[2]比较2次
第四次:arr[0]与arr[1]比较1次
*/
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) { //外循环只需要比较arr.length-1次就可以了
for (int j = 0; j < arr.length - 1 - i; j++) { //-1为了防止索引越界,-i为了提高效率,冒完泡的不再比较了
if(arr[j] > arr[j+1]) {
int temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
}