直接插入算法是一种稳定的(排序前后相同元素相对位置保持不变)排序算法,空间复杂度是,最坏时间复杂度是。一般用在数组基本有序或者数据规模很小的时候非常高效。直接插入排序主要思想是将一个数组分为有序数组和无序数组,然后将无序数组依次插入有序数组中,插入的时候,从无序数组的左边第一个数开始,往有序数组的右边第一个数从右到左插入;当待插入数据小于插入数据时,则该有序数组该位起的右边所有数据,依次向右移动一位,直到有序数组中有一个数大于待排数,则待排数插入该位置。
下图是引用这位作者的图片:https://mp.weixin.qq.com/s/vn3KiV-ez79FmbZ36SX9lg
一、实现步骤详解
实现步骤主要如下
1.1对数组arr