常见排序算法之直接插入排序

常用排序算法

这里会给大家介绍一些常用的排序算法思想,算是上课摸鱼之后的一些总结吧,同时也是加强一些印象。

稳定性

在开始之前,先讲一个概念,稳定性是指:若在待排序数组中存在相等的两个关键字 A和A1,A=A1,并且A排在A1之前,在经过排序算法之后输出的排序结果中仍有A在A1之前排列的话,那么我们称这个排序算法具有稳定性。反之,则没有稳定性。(个人理解)
稳定的排序算法有:起泡排序,直接插入排序,归并排序
不稳定排序算法有:希尔排序,直接选择排序,快速排序

直接插入排序

  1. 首先将待排数组R分为有序区和无序区,那么起始的时候R[0]是有序区,剩下部分为无序区。
  2. 将R[1]与有序区最后一位(目前是R[0])进行比较,如果R[1]小于有序区的最后一位,那么用R[1]与有序区最后一位的前一位进行比较,如果R[1]大于有序区最后一位,那么将R[1]插入到有序区该位之后。扩大有序区。
  3. 直至将无序区全部扫描完后结束算法。
    图示如下
    直接插入排序
    要不今天就到这里吧,明日再更
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值