Java语言插入排序详解

最近这段时间比较忙,几乎都忘了写博客这件事情,今天周末下着小雨,坐在桌前不知该干啥,就想起了把之前写的东西继续写下去。废话不多说,今天给大家介绍一下插入排序,直接进入主题。

插入排序思想:从第二个位置开始插入,依次与该数据之前所有数据进行比较,数据比该数据大,数据往后顺移。否则该数据插入到第一个比该数据小的数据后面。

是不是比较绕口,比较难理解?解释一下:“该数据”指的要插入的数据。下面通过图与文字来说明插入排序的思想。

同样以5个数据为例。数据为:8、5 、2 、6 、1。由于排序思想中涉及到顺移,数组顺移会覆盖数据,因此需要一个变量记录“该数据”。


第一次比较过程:

从第二位置开始插入:第二个位置的数据为5,5也就是“该数据”。

依次与该数据之前所有数据进行比较:5是第二个位置数据,也就是说5要与第一个位置上的数据进行比较。

数据比该数据大,往后顺移:数据指的是8,8比5大。8往后顺移,即8移到第二个位置。那么5也就排在第一个位置。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值