跳到正文

8.2.1 插入排序

40 分钟

8.2.1 插入排序

直接插入维护前缀有序,把当前元素暂存,较大元素右移,最后写入空位。

手工推演与代码

[5,2,4,6]插2得[2,5,4,6],再插4右移5得[2,4,5,6]。

代码实现必须保持当前有序区、堆区或归并段的不变量,并对空数组、单元素、重复键和逆序输入测试。

正确性与错解反馈

正确性来自每一趟扩大已确定区域且不破坏未处理数据。未暂存当前值会被覆盖;比较条件用>=会破坏相等记录稳定性。

迁移训练

对[3,1,2]写每趟数组。答案[1,3,2]、[1,2,3]。

小纸条

对[3,1,2]写每趟数组?

登录 后可看答案

Practice

本课练习

0

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

本课练习正在补齐,暂不应标记为完成。