整专业资料
微信QQ群
考生网QQ群

群号:517231281

扫码加群
点击二维码加群

考生网微信公众号

微信号:zikaosw

课程试听
最新资讯

手机端访问

1、直接输入www.zikaosw.cn
2、扫描左侧二维码

登录 | 注册
登录/注册后,可享受
  • 课程免费试听
  • 试做在线题库
  • 学习提升指导
  • [填空题] 以下程序是快速排序的算法
    设待排序的记录序列存放在a[start],…a[end]中,按记录的关键字进行快速排序,先进行一次划分,再分别进行递归调用。
    void quicksort ( NODE a[ ], int start ,int end )
    { int i,j;
    NODE mid ;
    if (start>=end )
    return;
    i=start;
    j=end;
    mid=a[i];
    while (i<j)
    { while(imikey)
    j- -;
    if(i<j)
    { a[i]=a[j];
    ___(1)_____;
    }
    while(i<j && a[i].key<=mikey)
    ___(2)_____;
    if(i<j)
    { ___(3)_____;
    ___(4)_____;
    }
    }
    a[i]=mid;
    quicksort (a,stat, i-1);
    quicksort ___(5)_____;
    }
    【答案选项】
    A.a[j]=a[i]
    B.(a, i+1,end)
    C.i++
    D.j--

     纠错    

  • 助考班推荐

您可能感兴趣的试题

  • 1、[单选题]一组记录的关键字序列为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )。

    • A、16,25,48,35,79,82,23,36,40,72
    • B、16,25,35,48,23,40,79,82,36,72
    • C、16,25,35,48,79,82,23,36,40,72
    • D、16,25,35,48,79,23,36,40,82,72
  • 2、[单选题]一组记录的关键字序列为(46,79,56,38,40,84),利用快速排序,以第一个关键字为分割元素,经过一次划分后结果为( )。

    • A、38,40,46,56,79,84
    • B、40,38,46,84,56,79
    • C、40,38,46,56,79,84
    • D、40,38,46,79,56,84
  • 3、[填空题](1)一组记录的关键字序列为(42,37,62,40,32,92),利用快速排序算法,以第一个关键字为分割元素,经过一次划分后结果为( )。
    A. 37,32,40,42,62,92           B.32,37,40,42,62,92
    C.32,37,40,62,42,92            D.42,37,40,62,32,92
    (2)利用筛选过程把序列(42,82,67,102,16,32,57,52)建成初始堆(小根堆)为( )。
    A.42,16,67,52,82,32,57,102
    B.16,32,42,52,82,57,67,102
    C.16,42,32,52,82,67,57,102
    D16,32,82,52,42,102,67,57

  • 4、[填空题](1)一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆为( )(堆顶元素是最小元素,采用树的形式建堆)。
    A.39,41,57,80,47,46        B.39,41,46,80,47,57
    C.39,47,46,80,41,57        D.39,41,57,80,46,47 
    (2)输出堆顶元素后,调整后的堆为( )。
    A.41,47,46,80,57          B.41,57,46,80,47
    C.41,57,80,47,46         D. 41,80,46,47,57

  • 5、[填空题]以下程序是折半插入排序的算法
        设待排序的记录序列存放在a[1],…a[n]中,以a[0]作为辅助工作单元,程序是要把a[i] 插入到已经有序的序列a[1],…a[i-1]中。
       void binsort (NODE a[ ],int n)
       {   int x,i,j,s,k,m;
           for (i=2;i<=__(1)____ ;i++)
           {  a[0]=a[i];
               x= a[i].key;
               s=1;
               j=i-1;
               while (s<=j)
               {  m=__(2)___;
                  if( x                __(3)___;
                  else
                     __(4)___;
                }
               for ( k=i-1;k>=j+1;k- -)
                 __(5)___=a[k];
             a[j+1]=a[0];
           }
        }
    【答案选项】
    A.(s+j)/2
    B.j=m-1
    C.a[k+1]
    D.n
    E. s=m+1

Copyright © 2010 - 2023 湖南求实创新教育科技有限公司 All Right Reserved.

温馨提示:如您需要的资料本网暂时没有,请于工作日08:00-18:00,点击这里,联系客服及时补充资料。