主观

阅读以下说明,将应填入(n)处的字句写在答卷纸的对应栏内。

【说明】

 下面的程序为堆排序程序,其中函数adjust(i,n)是把以R[i](1≤i≤┕i/2┙)为根的二叉树调整成堆的函数,假定R[i]的左、右子树已经是堆,程序中的,是在主函数中说明的结构数组,它含有要排序的n个记录。

 【程序】

 Void adjust(i,n)

 Int i,n;

   {

  iht k,j;

  element extr;

  extr=r[i];

  k=i;

  j=2*i;

  while (j<=n )

  {if ((j<n) && (r[j].key<r[j+1].key))

   (1);

  if (extr. key<r[j].key)

  {

  r[k]=r[j];

  k=j;

   (2);

  }

  else

   (3);

  }

  r[k]=extr;

  }

  /*让i从┗i/2┛逐步减到1, 反复调用函数adjust, 便完成建立初始堆的过程。*/

  void heapsort (r,n)

  list r;

  int n;

  {

  int i,1;

  element extr;

  for (i=n/2;i>=1;- -i)

   (4);       /* 建立初始堆*/

  for (k--n;k>=2;k- -)

  {

  extr=r[1];

  r[1]=r[k];

  r[k]=extr;

   (5);

  }

  }

参考答案
您可能感兴趣的试题
¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服