废话不多说 直接上代码 看不懂的话可以看注释
在这里插入代码片
public static void bubbleSort(int[] arr) {
//标志位 标志是否进行交换
boolean flag = false;
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j <arr.length; j++) {
//进行一下判断 如果前面的数比后面的数大 那么就应该交换一下
//轮一圈后能保证最后面的那个数是这个数组中最大的
if (arr[i] > arr[j]) {
flag = true;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
//在里面的这层循环结束之后 判断一下flag的值
//如果值为false 那么就说明没有被修改 直接跳出就可以了
//如果值为true 那么就说明值被修改了 重新将flag赋值为false 方便下次的修改
if (!flag) {
break;
} else {
flag = false;
}
}
}
本文详细介绍了冒泡排序算法的工作原理,并提供了一个简单的Java实现。通过双重循环实现元素比较与交换,同时使用标志位`flag`来优化排序过程,当一轮遍历未发生交换时可提前结束排序。该算法适用于小规模数据的排序操作。
711

被折叠的 条评论
为什么被折叠?



