插入排序的原理比较简单跟冒泡排序差不多,基本思想是将数组中的i个值插入到已经排好序的前i-1(i>0)个数中,基本的步骤是先取i-1的值,若A[i-1]>A[i]说明
A[i]应该往前排,那么就让A[i]=A[i-1],继续往前推,如果一直满足条件就一直将数组的值往后推,直到i<=0或者不满足条件
伪代码如下:
for j=1 to A.length
key=A[i]
j=i-1
while j>=0 and A[j]>A[i]
A[j+1]=A[j]
j=j-1
A[j+1]=key
java 代码实现如下:
public int[] upSortArray(int [] array){
if(array.length<=0||array==null){
return null;
}else{
for(int i=0;i<array.length;i++){
int key=array[i];
int j=i-1;
while(j>=0&&array[j]>key){
array[j+1]=array[j];
j--;
}
array[j+1]=key;
}
return array;
}