使用JAVA设计一个方法实现交换法排序
时间: 2025-03-08 17:13:18 浏览: 32
<<
在 Java 中可以通过编写一个方法来实现交换法(冒泡排序)对数组进行排序。下面是具体的解决方案:
**1. 完整的Java代码示例**
```java
public class BubbleSortExample {
// 冒泡排序的方法定义
public static void bubbleSort(int[] arr) {
int n = arr.length;
boolean swapped;
for (int i = 0; i < n - 1; i++) { // 每一轮确定最大的数到后面,所以只需要n-1轮比较
swapped = false;
// 开始每一轮内部元素之间的两两对比并交换相邻较大值往后挪动
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 临时变量用于存储即将被覆盖的数据
int temp = arr[j];
arr[j] = arr[j + 1]; // 将较小者放到前面位置
arr[j + 1] = temp; // 较大者后移一位
swapped = true; // 标记发生过数据互换动作
}
}
// 如果一趟下来没有发生任何交换说明已经有序了可以提前退出循环
if (!swapped)
break;
}
}
// 测试该排序算法是否正确可用
public static void main(String[] args) {
int[] numbers = {64, 34, 25, 12, 22, 11, 90};
System.out.println("原始数组为:");
printArray(numbers);
bubbleSort(numbers); // 对数组numbers执行冒泡排序操作
System.out.println("经过冒泡排序后的结果是:");
printArray(numbers);
}
private static void printArray(int[] array){
for(int num : array){
System.out.print(num+" ");
}
System.out.println();
}
}
```
**2. 解释与思路**
这段代码实现了经典的“冒泡”思想来进行升序排列:
(1) `bubbleSort` 方法接收一个整型数组作为参数;
(2) 使用两个嵌套的for 循环遍历整个数组,在内层循环中逐个检查相邻的一对数字,并根据条件
阅读全文
相关推荐

















