1、思路
对每一对相邻的元素进行比较,比如第一个元素和第二个元素比较,若第一个大,则交换;然后第二个元素和第三次元素比较.......每次比较最大的元素都会放到后面。从而达到排序效果。
2、时间复杂度
最好 O(n) ,最坏 O(n^2) ,平均 O(n^2)
3、代码实现
public class BubbleSort {
public static void bubbleSort(int[] arr){
if(arr.length == 0 ||arr == null) return;
int n = arr.length;
for(int i=0;i<n;i++){
for(int j=0;j<n-i-1;j++){
if(arr[j+1] < arr[j]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
public static void main(String[] args){
int[] arr = {50,10,90,30,70,40,80,60,20};
bubbleSort(arr);
for(int a:arr){
System.out.printf(a + " ");
}
}
}
来源:oschina
链接:https://my.oschina.net/u/3991724/blog/3207443