前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >漫画:插入排序是什么?

漫画:插入排序是什么?

作者头像
lucifer210
发布2020-03-24 17:08:39
2840
发布2020-03-24 17:08:39
举报
文章被收录于专栏:脑洞前端脑洞前端

插入排序:

public static int[] insertionSort(int[] array){
    if (array.length == 0) return array;
    int current;
    for(int i =0;i<array.length-1;i++){
        current = array[i+1];
        int preindex = i;
        while(preindex >= 0 && array[preindex] > current){
            array[preindex +1] = array[preindex];
            preindex--;
        }
        array[preindex+1] = current;
    }
    return array;
}

首先还是给你一个动漫图,这样你也容易理解:

其实从图中你可以感受到插入排序是一个比较简单的排序,没有过多的复杂步骤。它排序的基本原理也非常的简单,对于没有排序的元素,在已排序的元素中从后往前依次扫描,找到合适的位置插入。

其实和人们整理桥牌的方法一样,一张一张的来,将每张牌插入到其他已经有序的牌中的适当位置。

具体的步骤:

步骤1: 从第一个元素开始,该元素可以认为已经被排序;

步骤2: 取出下一个元素,在已经排序的元素序列中从后向前扫描;

步骤3: 如果该元素(已排序)大于新元素,将该元素移到下一位置;

步骤4: 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;

步骤5: 将新元素插入到该位置后;

步骤6: 重复步骤2~5。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 脑洞前端 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档