插入排序原理:每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。
算法实现:
从第二个数开始遍历,依次比较每个数和这个数之前所有数的大小关系;
若前一个数比该数大,则将前一个数后移一位,直到前一个数比该数小(或等于);然后将该数插入到中间位置;
public int[] insert(int[] unsorted){
for(int i = 1;i < unsorted.length;i++){
int tmp = unsorted[i];
if(unsorted[i-1] > unsorted[i]){
int j = i;
while(j > 0 && unsorted[j-1] > tmp){
unsorted[j] = unsorted[j-1];
j --;
}
unsorted[j] = tmp;
}
}
return unsorted;
}