#CS40402. 阅读程序4-排序算法2

阅读程序4-排序算法2

阅读程序

注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。

第4节:排序算法

第2题【NOIP】2010

#include<iostream>
using namespace std;
int main()
{
    const int SIZE=100;
    int na,nb,a[SIZE],b[SIZE],i,j,k;
    cin>>na;
    for(i=1;i<=na;i++)
        cin>>a[i];
    cin>>nb;
    for(i=1;i<=nb;i++)
        cin>>b[i];
13  i=1;
14  j=1;
    while( (i<=na)&&(j<=nb) )
    {
        if(a[i]<=b[j])
        {
            cout<<a[i]<<' ';
            i++;
        }
        else{
            cout<<b[j]<<' ';
            j++;
        }
    }
    if(i<=na)
       for(k=i;k<=na;k++)
           cout<<a[k]<<' ';
    if(j<=nb)
       for(k=j;k<=nb;k++)
           cout<<b[k]<<' ';
    return 0;
}

●判断题

(1)保证a数组和b数组有序,输出的序列一定是一个不降序列。

{{ select(2-1) }}

  • 正确
  • 错误

(2)如果输入0 0,不会输出数。

{{ select(2-2) }}

  • 正确
  • 错误

(3)如果删掉第13行和第14行不影响程序结果

{{ select(2-3) }}

  • 正确
  • 错误

(4)使用C++98不会CE.

{{ select(2-4) }}

  • 正确
  • 错误

●选择题

(5)该程序时间复杂度是( )

{{ select(2-5) }}

  • O(na+nb)
  • O(max{na,nb}logmax{na,nb})
  • O(na·nb)
  • O(nanbna^{nb})

(6)如果输人、

5
1 3 5 7 9
4
2 6 10 14

,输出( )。

{{ select(2-6) }}

  • 1 2 3 5 6 7 9 10 14
  • 14 10 9 7 6 5 3 2 1
  • 1 3 5 7 9 2 6 10 14
  • 5 1 3 5 7 9 4 2 6 10 14