首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 软件考试 > 初级职称 >

2009年5月程序员笔试考前练习(21)

2010-10-19 
读书人IT频道reader8.com/exam/jisuanji/  希尔排序  已知待排序序列data[n];希尔排序的增量序列为d[m],其中d[]序列降序排列,且d[m-1]1。其方法是对序列进行m趟排序,在第i趟排序中,按增量d把整个序列分成d个子序列,并
读书人IT频道reader8.com/exam/jisuanji/   希尔排序
  已知待排序序列data[n];希尔排序的增量序列为d[m],其中d[]序列降序排列,且d[m-1]=1。其方法是对序列进行m趟排序,在第i趟排序中,按增量d把整个序列分成d个子序列,并按直接插入排序的方法对每个子序列进行排序。
  希尔排序的程序为:
  void shellsort(int *data,int *d,int n,int m)
  { int i,j;
  for (i=0;i  for (j=0; (1) ;j++)
  shell( (2) );
  }
  void shell(int *data,int d,int num,int n)
  { int i,j,k,temp;
  for (i=1; (3) ;i++)
  { j=0;
   temp=data[j+i*d];
   while ((j   j++;
   for (k=j;k    data[k+1]=data[k];
   (5) ;
   (6) }
  }
  答案:(1)j  (2)data,d,j,n
  (3)num+i*d  (4)data[j+i*d]  (5)data[j]=temp 读书人IT频道reader8.com/exam/jisuanji/
热点排行