单选题 在内排序的过程中,通常需要对待排序元素序列的排序码做多趟扫描。采用不同的排序方法将产生不同的排序中间结果,设要将集合{tang,deng,an,wan,shi,bai,fang,li}中的排序码按升序排列,则______是初始步长为4的希尔排序一趟扫描的结果。
  • A.an,bai,deng,fang,li,shi,tang,wan
  • B.an,tang,deng,wan,shi,bai,fang,li
  • C.li,deng,an,shi,bai,fang,tang,wan
  • D.shi,bai,an,li,tang,deng,fang,wan
【正确答案】 D
【答案解析】[解析] 希尔排序是按增量将关键字分组。首先取增量d1<n把全部关键字分成d1个组,所有距离为d1的元素放在一组中,各组内用直接插入排序法排序;然后取d2<d1,重复上述分组和排序工作,直至取dt=1。选项D是取d1=4的一趟排序的结果。