gotea 2016-02-02
public class InsertSort {
//插入排序
//基本思想:
//在要排序的一组数中,假定前n-1个数已经排好序,
//现在将第n个数插到前面的有序数列中,使得这n个数也是排好序的。
//如此反复循环,直到全部排好序。
过程:
//平均时间复杂度:O(n^2)
public static void main(String[] args) {
int[] arr = new int[]{6,2,4,1,9,3,6,7,0};
System.out.println("排序前=====");
print(arr);
System.out.println("");
System.out.println("排序后");
int[] result = insertSort(arr);
print(result);
}
public static int[] insertSort(int[] arr){
int temp = 0;
for(int i=0; i<arr.length-1; i++){
for(int j=i+1; j>0; j--){
if(arr[j] < arr[j-1]){
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}else{
break;
}
}
}
return arr;
}
public static void print(int[] arr){
for(int i=0; i<arr.length; i++){
System.out.print(arr[i]+",");
}
}
}