网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 生活知识 知识问答

C语言排序算法:[2]教你理解插入排序。

时间:2024-11-15 09:37:11

1、一、插入排序,顾名思义,每次插入都遍历一次有序数列,找到新插入元素的位置,将其放入数列中即可。

C语言排序算法:[2]教你理解插入排序。

2、二、在插入排序中,我们假定给的无序数列为int a[6]={5,2,4,6,1,3}.

C语言排序算法:[2]教你理解插入排序。

3、三、算法的基本执行步骤1:第一个元素我们认为是有序的,因此选取第二个元素开始进行插入排序。

4、三、算法的基本执行步骤2:在已排序的(已有序)的元素中,从后向前扫描数列。

5、三、算法的基本执行步铿溘老呻骤3:若该元素(已排序的元素)大于1中取出的元素且已排序元素还未扫描完,则将该元素向后移一位。

6、三、算法的基本执行步骤4:直到找到取出元素的位置。

7、三、算法的基本执行步骤5:重复2至4的步骤,直到数列中的数字被全部遍历。

C语言排序算法:[2]教你理解插入排序。

8、四、具体实现代码如下:

C语言排序算法:[2]教你理解插入排序。

9、五、运行效果如下:总共执行了5次插入排序。

C语言排序算法:[2]教你理解插入排序。

10、六、效率分析,在最坏的情况下(数列逆序),比较次数和移动次数最多为n*n(-1)/2

C语言排序算法:[2]教你理解插入排序。
© 2026 一点资料
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com