算法设计⑴ 直接插入排序中寻找插入位置的操作可以通过折半查找来实现。据此写一个改进的插入排序的算法。

[解答]插入排序的基本思想是:每趟从无序区中取出一个元素,再按键值大小插入到有序区中。对于有序区,当然可以采用折半查找来确定插入位置。具体算法如下:

mosimage}

⑵ 设待排序的记录序列用单链表作存储结构,试写出直接插入排序算法。

[解答]本算法采用的存储结构是带头结点的单链表。首先找到元素的插入位置,然后把元素从链表中原位置删除,再插入到相应的位置处。具体算法如下:

算法设计⑴ 直接插入排序中寻找插入位置的操作可以通过折半查找来实现。据此写一个改进的插入排序的算法。

⑶ 设待排序的记录序列用单链表作存储结构,试写出简单选择排序算法。

[解答]参见 8.2.2。