1.定义BubbleSort方法
public abstract class Bubble {
/*排序*/
public static void sort(Comparable[] a) {
/* 外层循环决定了循环几次
* i = a.length-1元素的最大索引
* i>0的时候停止,至少有一个元素参与冒泡*/
for (int i = a.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
if (greater(a[j], a[j + 1])) {
exchange(a, j, j + 1);
}
}
}
}
/*比较*/
public static boolean greater(Comparable a, Comparable b) {
return a.compareTo(b) > 0;
}
/*交换*/
public static void exchange(Comparable[] a, int i, int j) {
Comparable temp;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
2.定义测试类
import java.util.Arrays;
public class BubbleTest extends Bubble {
public static void main(String[] args) {
Integer[] a = {1, 3, 2, 5, 4, 6};
System.out.println("排序前:" + Arrays.toString(a));
Bubble.sort(a);
System.out.println("排序后:" + Arrays.toString(a));
}
}
该博客展示了如何在Java中实现经典的冒泡排序算法,包括排序、比较和交换元素的详细步骤。此外,还提供了一个名为BubbleTest的测试类,用于验证冒泡排序的正确性,展示排序前后数组的变化。
2033

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



