阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。 【流程图说明】 下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大

admin2009-05-15  35

问题 阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。
   【流程图说明】
   下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array,并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。
    
   【算法说明】
  将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。
   【算法】
   void sort(int Array[],int L,int H){
       if (L<H)  {
           k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/
           sort((4));/*小于基准数的元素排序*/
           sort((5));/*大于基准数的元素排序*/
       }
   }

选项

答案(3)Array[i]←pivot或Array[j]←pivot

解析 (1)处语句j从高到低移动一位,即j←j-1。(2)处是将一个元素移到左边后,移动i向高处寻找一个较大数,即i←i+10(3)处是移动结束后,将pivot放到正确的位置,即填入Array←pivot或Array[j]←pivot。
转载请注明原文地址:https://kaotiyun.com/show/nrjZ777K
0

相关试题推荐
最新回复(0)