写一个java的冒泡排序
时间: 2023-10-19 16:20:52 浏览: 64
以下是一个Java的冒泡排序实现:
```java
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 3, 9, 1};
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void bubbleSort(int[] 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] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
```
上述代码中,我们定义了一个`bubbleSort`方法,该方法接受一个整型数组作为参数,并使用冒泡排序算法对该数组进行排序。具体实现如下:
1. 首先,我们使用一个`n`变量记录数组的长度。
2. 接下来,我们使用两个嵌套的循环进行排序。外层循环从`0`开始,一直到`n-1`为止,表示我们需要进行`n-1`趟冒泡排序。
3. 内层循环从`0`开始,一直到`n-i-1`为止,表示该趟排序需要比较的元素范围。由于每一趟排序都会将当前最大的元素放到数组的末尾,所以我们可以逐渐减小内层循环的比较范围。
4. 在比较相邻的元素时,如果前面的元素比后面的元素大,就交换这两个元素的位置。
5. 最后,我们输出排序后的数组。
在上述代码中,我们使用了`Arrays.toString`方法将排序后的数组转换为字符串,方便输出。
阅读全文