插入排序:先挖空,再填补

算法的精髓

所谓插入,正如其名,想要插入,得先有地方插。所以这就需要先挖一个空。
插入排序,从左往右,依次排序完成,所以从第一位置开始,先取出备份,然后再将这个位置之前的进行排序,第一位置只有一个数字,所以是排好的,无须操作。从第二个位置开始,先取出第二个位置元素进行备份,然后从第二位置往前,看前面的数字是否大于一开始取出备份的元素,大的话就往前挪,即往一开始的空位挪。最后还会有一个空位,这个空位就是留给一开始挖出去备份的那个元素。
后面的第三第四……各个位置的,都如此进行排序,即一步步完成,从左往右完成排序。
插入排序能够理解了,其实也就能理解快排的本质,无非再多一个二分和随机取数。

发布了146 篇原创文章 · 获赞 42 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/SmartLoveyu/article/details/94617197