![](https://lstatic.shangxueba.com/jiandati/h5/images/m_q_title.png)
数组arr经过下面的操作后结果为()。 int[] arr = {1, 2, 3}; for (int i=0; i < 2; i++) arr[i] = 0;
A.arr[0]==0
B.arr[0]==1
C.arr[1]==1
D.arr[2]==0
A.arr[0]==0
B.arr[0]==1
C.arr[1]==1
D.arr[2]==0
A.{12,16,25,52,93,26,67,36,92,92}
B. {12,16,25,67,36,92,26,52,93,92}
C. {16,52,67,93,36,92,26,12,25,92}
D. {16,36,52,67,93,92,26,12,25,92}
A.程序第二行出错,因为没有指定下标
B.值为’bb’的元素的下标为0
C.值为’bb’的元素的下标为1
D.值为’bb’的元素的下标为3
用下面的语句所定义的数组的元素个数是: ______。 Dim arr(3 To 5,-2 to 2)
A.20
B.12
C.15
D.24
inciude<stdio.h> inciude<stdlib.h> define MAX 65536 void merge(int arr[],int p,int q,int r) { int *left, *right; int n1,n2,i,j,k; n1=q-p+1; n2=r-q; if((left=(int*)malloc((n1+1)*sizeof(int)))=NULL) { perror("malloc error"); exit(1); } if((right=(int*)malloc((n2+1)*sizeof(int)))=NULL) { perror("malloc error"); exit(1); } for(i=0;i<n1;i++){ left[i]=arr[p+i]; } left[i]=MAX; for(i=0; i<n2; i++){ right[i]=arr[q+i+1] } right[i]=MAX; i=0; j=0; for(k=p; (1) ; k++) { if(left[i]> right[j]) { (2) ; j++; }else { arr[k]=left[i]; i++; } } } void mergeSort(int arr[],int begin,int end){ int mid; if((3) ){ mid=(begin+end)/2; mergeSort(arr,begin,mid); (4) ; merge(arr,begin,mid,end); } }
【问题1】 根据以上说明和C代码,填充1-4。 【问题2】 根据题干说明和以上C代码,算法采用了(5)算法设计策略。 分析时间复杂度时,列出其递归式位(6),解出渐进时间复杂度为(7)(用O符号表示)。空间复杂度为(8)(用O符号表示)。 【问题3】 两个长度分别为n1和n2的已经排好序的子数组进行归并,根据上述C代码,则元素之间比较次数为(9)。
若在窗体模块的声明部分声明了如下自定义类型和数组
Private Type rec
Code As Integer
Caption As String
End Type
Dim art(5)As rec
则下面的输出语句中正确的是
A.Print arr.Code(2),an.Caption(2)
B.Print arr.Code,arr.Caption
C.Print arr(2).Code,arr(2).Caption
D.Print Code(2),Caption(2)
(28 )若在窗体模块的声明部分声明了如下自定义类型和数组
Private Type rec
Code As Integer
Caption As String
End Type
Dim arr (5 ) As rec
则下面的输出语句中正确的是
A ) Print arr.Code (2 ) ,arr.Caption (2 )
B ) Print arr.Code,arr.Caption
C ) Print arr (2 ) .Code,arr (2 ) .Caption
D ) Print Code (2 ) ,Caption (2 )
若在窗体模块的声明部分声明了如下自定义类型和数组:
Private Type rec
Code As Integer
Caption As St ring
End Type
Dim art(5)As rec
则下面的输出语句中正确的是()。
A.Print arr.Code(2),art.Caption(2)
B.Print art.Code,arr.Caption
C.Print arr(2).Code,arr(2).Caption
D.Print Code(2),Caption(2)
编写一个排序器模板类,这个类可以叫做 Sorter,采用弱聚合的方式关联一个已有的数组,并可以采用多种方式对数组进行排序或其它操作,数组中元素的类型作为模板参数T,这个类具有以下成员: (1)构造函数,传入数组,以及数组的长度 (2)构建一个排序函数,采用任意一种比较排序方法排序,这个排序方法可以要求T类型必须实现 > 或 < 运算符的重载 (3)将之前作业中的 Complex 类模板化,将实部和虚部参数化,并利用Sorter对一组复数排序 (4)实现对Complex和Sorter类<<运算符的重载 (5)在注解中描述实现不同排序规则的机制(详细度10分,准确性10分) 特别注意:本题禁用全局变量,禁用静态变量 主函数如下,补充其它必要的代码完成程序 ...... int main() { n="10;"> * arr = new Complex<float>[n]; //随机初始化Complex的数组,每个实部/虚部最小-10,最大10; RandomInitComplexArray<float>(arr, n, -10, 10); //构建排序类 Sorter<complex<float>> sorter(arr, n); //打印数组 cout << sorter << endl; //未排序数组的输出 SetComplexSortModel<float>(arr, n, 0);//设置排序方式为按照实部排序 sorter.Sort(); //排序 cout << sorter << endl; //打印排序后数组 SetComplexSortModel<float>(arr, n, 1);//设置排序方式为按照虚部排序 sorter.Sort(); //排序 cout << sorter << endl; //打印排序后数组 SetComplexSortModel<float>(arr, n, 2);//设置排序方式为按模排序 sorter.Sort(); //排序 cout << sorter << endl; //打印排序后数组 delete[] arr; return 0; }
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!