插入排序的原理比較簡單跟冒泡排序差不多,基本思想是將數組中的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;
}