排序——插入排序(找坑)

假设前边部分已经排序,

取出下一个元素,将其与前边的元素依次比较(找坑),

找到合适的位置(在已排序部分),插入进去,

然后继续进行下一次比较,直到结束。

public class InsertSort {
    public void insertSort(Integer[] arrays){
        if(arrays.length == 0 || arrays == null) return;
        int len = arrays.length;
        int j = 0;
        for(int i = 1; i < len; i++){
            int temp = arrays[i];
            for(j = i - 1; j >= 0; j--){
                if(temp > arrays[j]) break;
                arrays[j + 1] = arrays[j];
            }
            arrays[j + 1] = temp;
        }
    }
}

  

4 2 1 6 3 6 0 -5 1 1
2 4 1 6 3 6 0 -5 1 1
1 2 4 6 3 6 0 -5 1 1
1 2 4 6 3 6 0 -5 1 1
1 2 3 4 6 6 0 -5 1 1
1 2 3 4 6 6 0 -5 1 1
0 1 2 3 4 6 6 -5 1 1
-5 0 1 2 3 4 6 6 1 1
-5 0 1 1 2 3 4 6 6 1
-5 0 1 1 1 2 3 4 6 6
-5 0 1 1 1 2 3 4 6 6

posted @ 2018-03-27 16:42  SkyeAngel  阅读(159)  评论(0编辑  收藏  举报