排序算法是一種基本並且常用的算法。由於實際工作中處理的數量巨大,所以排序算法對算法本身的速度要求很高。而一般我們所謂的算法的性能主要是指算法的複雜度,一般用O方法來表示。冒泡法排序是最原始,也是衆所周知的最慢的算法了。它的名字的由來因爲它的工作看來象是冒泡。
package rainbow.test.sort;
public class SortUtil {
/**
* 起泡排序算法,屬於穩定排序,算法複雜度爲O(N*N)
* @param data 待排序的數組
* @return 排序後的數組
*/
public static int[] bubbleSort(int []data){
int temp;
for(int i= 0;i< data.length -1 ;i++){
for(int j = i+1;j < data.length;j++){
if(data[i]>data[j]){
temp = data[i];
data[i]=data[j];
data[j]= temp;
}
}
}
return data;
}
/**
* for demo
* @param args
*/
public static void main(String[] args) {
int []data =new int[]{3,2,5,7,7,78,56};
bubbleSort(data);
for(int a : data){
System.out.println(a);
}
}
}