精英家教网 > 高中数学 > 题目详情

已知一个有序列{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}.


练习册系列答案
相关习题

同步练习册答案