插入算法

插入算法是一种排序算法

在运用插入算法时一般将数据分为两组,有序组和无序组,并且将数据的第一个元素默认为有序组,将无序组的元素一个一个按照某种排列方式插入到有序组中。

在此我们以大小顺序的排列为例,进行详细讲解:

1、有如下一组数据:1,7,2,6,9,5,4,3。我们将这组数据从小到大进行排列

2、将数据分为有序组和无序组,第一位元素1默认为有序组,后面的7,2,6,9,5,4,3为无序组

3、由于是从小到大排列,有序组肯定已经是这个顺序,因此我们每次将无序组的第一位元素与有序组的最后一位元素进行比较,若无序组的第一位元素大,则已经是从小到大排列,是有序的,将此元素纳入有序组。如进行第一次比较后,有序组为1,7,无序组为2,6,9,5,4,3

4、若无序组的第一位元素比有序组的最后一位元素小,则说明顺序不对,需要进行插入

5、找到无序组第一位元素在有序组中应该在的位置,将其放入此位置即可。此过程为循环,将有序组的元素从右到左分别与此元素进行比较,若有序组的元素大,则将有序组比较过的元素右移,直到无序组的第一位元素小于某一元素或全部比较完

6、插入元素

在此盗其他博主的一张图解方便大家理解:

插入算法

代码如下:

插入算法