package com.atguigu.sort;
import java.util.Arrays;
/*
* 冒泡排序:每一趟都是相邻的两个元素进行比较;每一趟下来都会确定一个元素的位置(最大元素的值)
*
* */
public class BubbleSort {
public static void main(String[] args) {
int[] arr= {3,9,-1,10,-2};
int temp = 0;//临时变量
int count =1;//定义一个标识,如果发现某趟没有发生交换,就提前结束冒泡排序----优化算法
for(int i=0;i<arr.length-1;i++) {//走多少趟---每走完一趟就会固定一个数
if(count==0) {//说明某趟没有发生交换
break;
}else {
count=0;
for(int j=0;j<arr.length-1-i;j++) {//比较多少次--每走完一趟,比较的次数也会相应的减少一次。
if(arr[j]>arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
count++;
}
}
// System.out.println(Arrays.toString(arr));//数组转字符串。
}
}
System.out.println(Arrays.toString(arr));//数组转字符串。
// for(int n: arr) {
// System.out.println(n);
// }
}
}
Java实现冒泡排序--O(n²)
最新推荐文章于 2022-01-13 16:17:08 发布