排序算法:冒泡排序
2017-03-20 本文已影响0人
柠檬师傅
冒泡排序简单说明及示例代码
冒泡排序是最简单的排序之一了,其思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。 这个过程类似于水泡向上升一样,所以也叫冒泡排序。举个列子对4,3,7,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成4,3,7,4,6。同理4和8交换,变成4,3,4,7,6,3和4无需交换。4和3交换,变成3,4,4,7,6,这样一次冒泡就完了,把最小的数3排到最前面了。对剩下的序列依次冒泡就会得到一个有序序列。
public class BubbleSort {
public static int[] bubbleSort(int[] arr){
if(arr==null||arr.length==0){
return null;
}
for(int i=arr.length-1;i>=0;i--){
for(int c=arr.length-1;c>0;c--){
if(arr[c]<arr[c-1]){
int current =arr[c];
arr[c]=arr[c-1];
arr[c-1]=current;
}
}
}
return arr;
}
public static void main(String[] args) {
int[] arr = new int[]{1,4,2,5,2,3,6,45,234,234,5435,546546,1,2,3,4,5};
int[] bubbleSort = bubbleSort(arr);
System.out.print(Arrays.toString(bubbleSort));
}
}
时间复杂度为O(n^2)