一种简单的直接插入排序精解
admin
2023-07-31 18:23:39
0

    直接插入排序,就像是桌子上一叠正面向下的扑克从小到大地依次拿到自己的手上。

1,显然拿到的第一张扑克(假如是3)是不用比较的,而且可以认为,它是有序的。

2,拿到第二张牌(假如是2)的时候,我们只要和第一张比较,放到合适的位置(现在是2,3),保持有序。

3,接着拿到第三张牌,我们只要和原来有序的序列(2,3)比较组成一个元素加一个的新有序序列即可。

(我们只要从右到左用在原序列一个个比较即可,如是5,只比较一次就可以决定放在3前,如果是1,那就比较两次)

详解如下图:


一种简单的直接插入排序精解


要点:

1,大循环从第二个元素开始,倒着比较

2,小循环的条件有两种情况

3i在一趟比较的最后要加1,向后一格置入新元素

特征:

1,插入排序是原址排序,最多用了一个辅助空间来放临时元素

2,新元素之前的部分是本问题的子问题的求解结果

3,完全逆序的比较性能最差(内层循环的次数最多)


for(j=1 ;  j< arr.length ; j++)

{

        key = arr[ j] ;//取出当前要插入比较的新元素

        i = j-1;//小循环指示器

        while( i> -1 && arr[i]>key) {//小循环负责在已经有序的部分中找个合适的位置

                arr[i+1] = arr [i] ;//有序部分比新来元素较大者后移

                --i;//继续向前寻找位置

        }

        i=i+1;

        arr[i] =  key;//无论是否进入了小循环,把key放在i+1的位置总是对的

  //没有进入小循环的ij是同一个位置

}



本文已完结;

by mengshengneng@163.com

相关内容

热门资讯

广西横州一被蛇咬伤女子不幸离世... 7月8日,新京报记者多方核实获悉,广西横州云表镇一名被蛇咬伤的女子不幸离世。参与救助的村民称,因道路...
拉高“抗中”力道!亲绿媒体人矢... 台湾致癌毒油风暴延烧,赖清德当局延迟公布相关业者名单,遭批评处理慢半拍。面对要求相关官员下台负责声浪...
伊朗伊斯兰革命卫队称对85个美... 【环球网快讯】综合英国《卫报》等媒体8日最新报道,伊朗伊斯兰革命卫队称,伊朗伊斯兰革命卫队对位于巴林...
见证中原人居升级|中原芯首座四... 7月7日,通派龙湖·中原颂特邀郑州市房屋交易中心及郑州市不动产登记中心入驻项目现场,专项开展业主不动...
伊朗革命卫队称击落美军MQ9无... 据伊朗媒体今天(7月8日)报道,伊朗伊斯兰革命卫队称在伊朗南部击落了一架美军MQ-9“死神”无人机。
陈立泉、贲德荣获2025年度国... 8日,备受瞩目的2025年度国家最高科学技术奖在北京人民大会堂揭晓。中国科学院物理研究所陈立泉院士、...
陈立泉、贲德获国家最高科学技术... 据新华社消息,2025年度国家最高科学技术奖7月8日在京揭晓,陈立泉院士、贲德院士获国家最高科学技术...
原创 朱... 听说过朱鹮没?就是那种浑身雪白、脸蛋红扑扑的仙鸟,瞅着跟仙女下凡似的。可你们知道不,这玩意儿差点就彻...
换车计划怎样比较购车决策需重视... 在考虑更换车辆时,购车决策的重要性不言而喻。一个明智的购车决策不仅能让你拥有一辆符合需求的汽车,还能...
亿万富豪“换血哥”得不治之症!... 啊这...每年砸上百万美元进行身体改造,追求长生不老的亿万富翁“换血哥”布莱恩约翰逊,竟然得“不治之...