题目内容
已知一个有序列{5,7,9,12,13},现要将数据10插入其中,请采用两种方法写出算法.
答案:
解析:
解析:
|
①比较10与13,10<13,所以将10插入到13的左边; ②比较10与12,10<12,所以将10插入到12的左边; ③比较10与9,10>9,所以将10插入到9的右边,构成新的有序列:{5,7,9,10,12,13}. 解法二:折半插入排序. ①先把原有序列编号,如下表:
②选择“中间位置”的数据a3=9,将10与a3进行比较,显然10>a3,所以10应放在a3的右边; ③取余下数据列{a4,a5}的“中间位置”的数据a4=12,将10与a4进行比较,显然10<a4,所以10应插到12的左边,构成新的有序列:{5,7,9,10,12,13}. |
练习册系列答案
相关题目