Java写一个冒泡排序
时间: 2023-12-31 10:46:19 浏览: 8
以下是Java语言实现冒泡排序的示例代码:
```java
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 4, 3, 2, 1};
bubbleSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
// 标记是否已经排好序
boolean sorted = true;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换相邻两个元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
// 表示还没有排好序
sorted = false;
}
}
// 如果已经排好序,则跳出循环
if (sorted) {
break;
}
}
}
}
```
运行结果:
```
1 2 3 4 5
```
上述代码中,`bubbleSort` 方法接受一个整型数组作为参数,并用冒泡排序算法对其进行排序。在排序过程中,每次都比较相邻的两个元素,如果它们的顺序不正确,则交换它们的位置。在一次排序结束后,如果发现已经没有需要交换的元素,则说明已经排好序,可以提前跳出循环。这样可以减少不必要的比较和交换操作,提高排序效率。