冒泡排序——
冒泡排序是一种常用的排序算法,属于稳定排序法,其时间复杂度为O(n^2)。其原理就是从前向后依次比较相邻两个元素的大小,大元素后沉,类似于水中的泡泡逐步上浮的过程。
简单的实现
下面我们来根据算法原理,不考虑优化来实现,以下代码
public void bubbleSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1])
swap(arr,j,j+1);
}
}
}
下面是测试这段代码性能的代码
//生成测试数组
public static int[] generateRandomArray(int length,int min,int max){
if(length<0){
throw new IllegalArgumentException("数组长度不可为负数");
}
if(min>max){
throw new IllegalArgumentException("应保证min不大于max");
}
int[] arr=new int[length];
Random random