一.简介
冒泡排序就是比较相邻的两个元素,把小的元素往前调或者把大的元素往后调。
二.实现
package com.vincent;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws Exception{
int[] arr = new int[32];
for(int i=0;i<arr.length;i++){
arr[i] = (int)(Math.random() * 100);
}
System.out.println(Arrays.toString(arr));
bubbleSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void bubbleSort(int[] arr){
//n个数排序每一次比较可以产生一个最大/最小数,故总的只需要n-1此循环
for(int i=0;i<arr.length-1;i++){
boolean flag = false; //标记是否有数据交换,如果没有交换,则数据已经排序好了
for(int j=0;j<arr.length-1-i;j++){
if(arr[j] > arr[j+1]){
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
flag = true;
}
}
if(!flag){
break;
}
}
}
}
效果:
三.总结
冒泡排序时间复杂度:O(n^2)