插入排序 ~ 算法之二

2022-02-14  本文已影响0人  喏喏2021

1. 简介

插入排序,有时也称直接插入排序,这里“插入”是指将一个数,插入到有序数列中的合适位置

2. 算法过程

3. 简单数据演示

原始数据,默认第1个数是有序的,也就是9
9 8 6 10 7
第一轮,排序数为8,需要把8,加入到前面的有序数列中,当然现在只有一个9,因为8比9要小,所以交换两个元素,这时我们的有序数列就有8,9
8 9 6 10 7
第二轮,排序数为6,需要插入到[8,9]中,从后往前比较,比9要小,要交换一下位置,变成[8,6,9],继续往前比较,再和8交换位置,变为[6,8,9]
6 8 9 10 7
第三轮,排序数为10,需要插入到[6,8,9]中,第一次比较,发现就比9要大,开心了,不需要交换了,直接成功了,变成[6,8,9,10]
6 8 9 10 7
第四轮,排序数为7,挨个往前比较,发现,需要分别和10,9,8进行交换,直到碰到6,比它还要小,才结束,这样就变成了全排序好了
6 7 8 9 10

3. 其它

1)时间复杂度为o(n^2),效率不太高,数据量较大的情况下,不建议使用
2)如果是需要逆向排序,调整一下判断条件,每次把最小的放在最后就可以了

上一篇下一篇

猜你喜欢

热点阅读