1. 插入排序的基本思想是:把待排序的数据按其值的大小逐个插入到一个已经排好序的有序序列中,直到所有的数据插入完为止,得到一个新的有序序列。例如,已知待排序的一组数据是60,71,49,11,24,3,66。

假设在排序过程中,前3个数据已完成升序排列,构成一个有序序列49,60,71。

将待排序数据中的第4个数据(即11)插入上述有序序列,以得到一个新的含4个数据的有序序列。首先,应找到11的插入位置,再进行插入。可以将11放入数组的第一个元素r(0)中,这个元素称为监视哨,然后从71起从右到左查找,11小于71,将71右移一个位置,11小于60,又将60右移一个位置,11小于49,又再将49右移一个位置,这时再将11与r(0)的值比较,11≥r(0),它的插入位置就是r(1)。假设11大于第一个值r(1),它的插入位置应该在r(1)和r(2)之间,由于60已经右移了,留出来的位置正好留给11,后面的数据依照同样的方法逐个插入到该有序序列中。若数据有n个,须进行n-1趟排序,才能完成。

以下VB程序执行后,数组元素a(1)的值是(  )

a(1)=10:a(2)=18:a(3)=12:a(4)=6:a(5)=9

for i=2 to 5

    a(0)=a(i)

    j=i-1

    do while a(0)>a(j)

        a(j+1)=a(j)

        j=j-1

    loop

    a(j+1)=a(0)

next i

A. 10 B. 18 C. 6 D. 9
【考点】
排序算法及程序实现;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
单选题 普通
能力提升
变式训练
拓展培优
真题演练
换一批