public class BubbleSort {
public static void main(String[] args) {
//使用冒泡排序对一组数进行排序,使得最终结果是一个从小到大的顺序
int[] arr = {11, 45, 65, 99, 88, 32, 25};
System.out.println("排序之前:");
printArray(arr);
System.out.println();
//定义一个方法实现对数组的冒泡排序
int[] arr1 = bubbleSort(arr);
System.out.println("排序之后:");
printArray(arr1);
}
//定义方法实现遍历一个数组
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
System.out.print(arr[i] + "]");
} else if (i == 0) {
System.out.print("[" + arr[i] + ",");
} else {
System.out.print(arr[i] + ",");
}
}
}
//定义方法实现冒泡排序
public static int[] bubbleSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
boolean flag = false; //表示本趟冒泡是否发生交换的标志
for (int j = arr.length - 1; j > i; j--) { //一趟冒泡过程
if (arr[j - 1] > arr[j]) { //若为逆序
//交换
int temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
flag = true;
}
if (flag == false)
return arr; //本躺遍历后没有发生交换,说明表已经有序
}
}
return arr;
}
}
Java实现冒泡排序
最新推荐文章于 2022-04-14 21:50:46 发布