使用comparable接口对元素冒泡排序
时间: 2023-12-05 21:04:08 浏览: 72
以下是使用`Comparable`接口对元素冒泡排序的示例代码:
```java
public class BubbleSort {
public static <T extends Comparable<T>> void bubbleSort(T[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j].compareTo(arr[j + 1]) > 0) {
T temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
Integer[] arr = {5, 2, 7, 3, 9, 1, 6, 8, 4};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
}
```
在上面的示例中,我们使用了泛型和`Comparable`接口来实现冒泡排序。`T extends Comparable<T>`表示我们要对实现了`Comparable`接口的任意类型进行排序。在`bubbleSort`方法中,我们使用两个嵌套的循环来遍历数组并依次比较相邻元素的大小。如果前一个元素比后一个元素大,就交换它们的位置。最终,我们得到一个按升序排列的数组。
在`main`方法中,我们声明一个包含一些整数的数组,并调用`bubbleSort`方法对它进行排序。最后,我们使用`Arrays.toString`方法将排序后的数组转换为字符串并输出到控制台。输出结果为`[1, 2, 3, 4, 5, 6, 7, 8, 9]`。
阅读全文