阐述冒泡排序的思想,并演示一下冒泡排序的代码的实现
冒泡排序的作用: 可以用于对数组或者对集合的元素进行大小排序!! 冒泡排序的核心算法思想: int[] arr = new int[] {5, 2, 3, 1}; 思想:每次从数组的第一个位置开始两两比较。把较大的元素与较小的元素进行层层交换。 最终把当前最大的一个元素存入到数组当前的末尾。这就是冒泡思想。 冒泡排序的核心点:每次两两比较找出当前最大值冒出到当前最后面即可!! 冒泡排序的实现核心: 1.确定总共需要冒几轮: 数组的长度-1. 2.每轮两两比较几次。 i(轮数) 次数 次数规律 0 3 n - i - 1 1 2 2 1 小结: 确定总共需要冒几轮: 数组的长度-1. 每轮两两比较几次:n - i - 1
public class BubbleSort01 {
public static void main(String[] args) {
int[] arr = new int[] {5, 2, 3, 1};
// 0 1 2 3
// 1、定义一个外部循环控制冒泡的轮数
for (int i = 0; i < arr.length - 1; i++) {
// 2、定义一个内部循环控制每轮比较的次数!
// i = 0 j = 0 1 2
// i = 1 j = 0 1
// i = 2 j = 0
for (int j = 0; j < arr.length - i - 1; j++) {
// 判断后面的位置是否小于当前位置,若小则交换
if(arr[j] > arr[j+1]){
// 交换元素
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
System.out.println("内容:"+ Arrays.toString(arr));
}
}