问题
单项选择题
待排序关键字序列为49,38,65,97,1 3,76,27,49),对其进行Shell排序,取d=4,该趟排序后的结果为()。
A.27,13,65,97,38,76,49,49
B.13,38,27,49,49,76,65,97
C.13,27,38,49,49,65,76,97
D.38,49,65,97,13,27,49,76
答案
参考答案:B
解析:
希尔(shell)排序又称“缩小增量排序”,它的基本思想是,先对待排序列进行“宏观调整”,待序列中的记录“基本有序”时再进行直接插入排序。先将待排序列分割成为若干子序列,分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。
具体做法:先取定一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组,将所有距离为d1倍数的记录放在同一个组中,在各组内进行直接插入排序;然后取第二个增量d2<d1,重复上述分组和排序工作,依此类推,直至所取的增量di=1(di<di-1<…<d2<d1),即所有记录放在同一组进行直接插入排序为止。