请给出冒泡排序java版代码带注释和解释,最后输出结果
时间: 2024-02-13 12:00:46 浏览: 68
当然,以下是冒泡排序的 Java 代码:
```java
public class BubbleSort {
public static void main(String[] args) {
int[] arr = { 64, 34, 25, 12, 22, 11, 90 };
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;
}
}
}
// 输出排序后的结果
System.out.println("排序后的结果为:");
for (int i = 0; i < n; ++i) {
System.out.print(arr[i] + " ");
}
}
}
```
注释和解释如下:
1. `int[] arr = { 64, 34, 25, 12, 22, 11, 90 };` 定义了一个数组 `arr`,用于存储待排序的数据。
2. `int n = arr.length;` 获取数组的长度,即待排序数据的个数。
3. `for (int i = 0; i < n - 1; i++)` 外层循环控制排序轮数,`i` 的取值范围是 `0` 到 `n-2`。
4. `for (int j = 0; j < n - i - 1; j++)` 内层循环控制每轮排序的次数,`j` 的取值范围是 `0` 到 `n-i-2`。
5. `if (arr[j] > arr[j + 1])` 如果前面的元素大于后面的元素,则交换它们的位置。
6. `System.out.print(arr[i] + " ");` 输出排序后的结果,每个元素之间用空格分隔。
最终输出结果为:
```
排序后的结果为:
11 12 22 25 34 64 90
```
阅读全文