笑谈插入排序

1.背景

要说插入排序的发明者是怎么发明插入排序的,我想大概就是在斗地主的时候吧。
大A(姑且假定为插入排序的发明者)是一个学霸,在江湖中也是名声在外,人人聊起都是竖起大拇指的那种人物;但是大人物也是有苦恼的一面,话说家家有本难念的经;在那个高手如云的时代,必须要有一个投名状(那就是发明一种举世闻名的算法)。为此大A为这件事情伤透了脑筋,甚至是跑入自家山后面的山洞进行闭关修炼,写下了30w行代码也没有发明出举世震惊的算法。
衣带渐宽终不悔,为伊消得人憔悴。就这样几年过去了。大A虽然编程能力通过这几年的修炼已经达到了炉火纯青的地步;但是在排序界还是默默无闻。曾经的室友大B与大C听闻大A为了专研算法30多岁了还是一个老光棍,曾经帅气的面孔已经变为蜡黄色心中颇为感慨,一直想要劝他先成家后立业。今天一年一度的5年寝室聚会到了,大B与大C带上扑克牌,一瓶千年堆花酒来到大A家中,为啥要来大A家中呢,因为十年前大A就不曾踏出村门半步,所以只能是大B与大C相邀去大A家。大B与大C来到大A家,询问大A家人才发现大A已经在后山山洞修炼并且不允许任何人打扰他。这还了的,大B大C原来和大A可是拜把子兄弟,况且5年未见。岂能吃这个闭门羹。于是怒发冲冠连哄带偏的把大A揪出了山洞。
看到室友带的一副扑克牌,大A欣喜雀跃就像周伯通学会了小龙女的引蜂之术一样。大A对斗地主也是颇为爱好。于是三个人一张桌三张凳就开始了欢乐斗地主。首先来了一张红桃2,后来又来了一个方块7,来了一个梅花10… ,突然A高兴的站了起来,大声喊叫我知道了,我发现了,我知道了,我知道了… 并又飞奔回后山山洞。大B大C一脸茫然,以为大A精神错乱。当他们跑到山洞的时候,被下面的代码惊呆了,这段代码在一夜之间,让大A跻身为家喻户晓的人物。(本文纯属虚构,如有雷同纯属巧合)

  1. 代码
public class Solution {

    /**
     * 插入排序
     *排序的数也称为关键词
     * @param list
     */
    public static void insertSort(List<Integer> list) {
        for (int i = 0; i < list.size() - 1; i++) {
            int j = i + 1;
            int value = list.get(j);
            while (j > 0 && value < list.get(j - 1)) {
                list.set(j, list.get(j - 1));
                j--;
            }
            list.set(j, value);
        }
    }

    public static void main(String[] args) {
        List<Integer> intList = new ArrayList<>();
        intList.add(3);
        intList.add(2);
        intList.add(5);
        intList.add(1);
        intList.add(0);
        intList.add(-1);
        insertSort(intList);
        intList.forEach(x-> System.out.println(x));
     }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值