public class SortedDemo {
public static void main(String[] args) {
int[] arr = {6,1,2,3,4,5};
//调用冒泡排序方法
bubbleSort(arr);
}
/** 冒泡排序 */
//封装了一个冒泡排序的方法
public static void bubbleSort(int[] arr){
boolean isSorted; //默认FALSE
//数据量少的时候,eg:11,2,3,4,5 遍历完后:1,2,3,10
for(int i = 0 ; i < arr.length ; i ++){ //轮数
//优化部分
isSorted = true; //假设剩下的元素已经排好序
for(int j = 0; j < arr.length-1-i ; j ++){ //次数
if(arr[j] > arr[j+1]){ //每次都和下一个元素进行比较
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
//优化部分
isSorted = false;
//一旦需要交换数组的元素,说明剩下的元素没有排好序
}
}
System.out.println("排序的趟数"+i);
//优化部分
if(isSorted){
break;
//如果没有发生交换,说明剩下的元素已经排序完毕
}
}
System.out.println("排序后的数组:");
for(int i = 0 ; i < arr.length ; i++){
System.out.println(arr[i]);
}
}
}
冒泡排序(优化版)
最新推荐文章于 2023-11-11 16:32:46 发布