插入排序

2018-02-06  本文已影响8人  Rotten_Pencil

算法思路

可以把插入排序想象成扑克中的插牌,步骤如下:

应用在实际的数组中,步骤如下(假设数组a中含有n个元素):

代码

从上面的例子可以看出,插入排序需要两个指针进行循环:

insertion(int[] a)
{
    int N = a.length;
    for (int i = 1; i < N; i++) { // 指针1从索引位置1开始,向右遍历
        for (int j = i; j > 0 && (a[j] < a[j - 1]); j--) { // j-1为指针1上一元素,依次向左遍历
            exch(a, j, j - 1); // 互换位置
        }
    }
}

时间&空间

上一篇 下一篇

猜你喜欢

热点阅读