简单插入排序

原理:遍历数列,从后往前扫描元素,逐个比较,把元素在应当的位置插入,同时后面的元素逐个后移让位,构建出有序数列

算法描述:【1】将第一个元素设为已排序。

     【2】取出数列的下一个元素从后往前与已排序的序列逐渐比较。

     【3】若取出的元素比已排序的元素小,则已排序元素向后移动让位,直到找到比取出的元素小或相等的元素或者前面无元素时,将这个元素插入比其小的元素的后面。

     【4】重复【2】【3】步骤

动图演示:

代码演示:

int currentE;
        for (int i = 0; i < array.length - 1; i++) {
            currentE = array[i+1];
            int tampIndex = i;
            while (tampIndex >= 0 && currentE < array[tampIndex]) {
                array[tampIndex + 1] = array[tampIndex];
                tampIndex--;
            }
            array[tampIndex + 1] = currentE;
        }

猜你喜欢

转载自www.cnblogs.com/Gikin/p/11297730.html
今日推荐