主要有三种排序算法,时间复杂度都为O(N^2).
其中以冒泡法排序最为简单。
package Sort;
/**
* Created by floyd on 2014/6/21.
*/
public class SimpleSort {
/**
* 冒泡法排序
* @param arr
*/
public static void Bubble_Sort(int[] arr){
for(int j = arr.length-1; j > 0; j--){
for(int i=0; i < j; i++){
if(arr[i] > arr[j]){ //从小到大排序
//if(arr[i] < arr[j]){ //从大到小排序
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
/**
* 选择排序的主要方法
* @param arr
*/
public static void Select_Sort(int[] arr){
int p;
int temp;
for(int i=0; i<arr.length-1; i++){
p = i;
for(int j=p+1; j<arr.length; j++){
if(arr[j] < arr[p])
p = j;
}
temp = arr[i];
arr[i] = arr[p];
arr[p] = temp;
}
}
/**
* 选择排序
* @param arr
*/
public static void Insert_Sort(int[] arr){
int i,j;
for( i=1; i<arr.length; i++){
int temp = arr[i];
j = i;
while(j>0 && arr[j-1] >= temp){
arr[j] = arr[j-1];
--j;
}
arr[j] = temp;
}
}
}