/**
* 插入排序
* 简述:
* 获取array[i],并将array[i]插入于array[j+1]处,其中j<=i,并且array[j]<array[i] && array[j+1]>=array[i]
* 时间复杂度:
* Θ(n^2)
* 空间复杂度:
* O(1)
* 优点:
*
* 缺点:
*
* 可改进:
*
* @author CheN
*
*/
public class InsertionSort {
/**
* 正序
* @param array
* @return
*/
public static int[] asc( int[] array ) {
for (int i = 1; i < array.length ; i++) {
int key = array[i];
int j = i - 1;
//若key小于array[j],则将array[j]向后挪一位
while ( j >= 0 && array[j] > key ) {
array[j + 1] = array[j];
j = j - 1;
}
array[j + 1] = key;
}
return array;
}
}
若有错误或不妥之处,敬请谅解并指点。