函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[0]=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为( )。
A.1,1
B.1,2
C.2,2
D.2,1
第1题:
函数swap(a, n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[0]=1;b[1]=2; swap(b, 2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为( )。
A.1,1
B.1,2
C.2,2
D.2,1
第2题:
假设有一维数组T[O...m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m)中,即B[1]=T[0],B[2]=T[n],依此类推,那么放入B[k](1≤k≤n)的元素是(120)。
A.T[(K-1)*m]
B.T[K*n)
C.T[(K-1)*n]
D.T[K*m]
第3题:
已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中O<=xl<x2<n,x2+k<n,请将下列语句补充完整。
For(int i=x1+k-1;i>=x1;i--)
a[______]=a[i];
第4题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【函数2.1说明】
递归函数sum(int a[], int n)的返回值是数组a[]的前n个元素之和。
【函数2.1】
int sum (int a[],int n)
{
if(n>0) return (1);
else (2);
}
【函数2.2说明】
有3个整数,设计函数compare(int a,int b,int c)求其中最大的数。
【函数2.2】
int compare (int a, int b, int c )
{ int temp, max;
(3) a:b;
(4) temp:c;
}
【函数2.3说明】
递归函数dec(int a[],int n)判断数组a[]的前n个元素是否是不递增的。不递增返回 1,否则返回0。
【函数2.3】
int dec( int a[], int n )
{
if(n<=1) return 1;
if(a[0]<a[1]) return 0;
return (5);
}
第5题:
已知有一维数组T[0..m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1..m]中,即B[1]=T[0],D[2]=T[n],依此类推,那么放入B[k](1≤k≤n)的元素是______。
A.T[(k-1)*n]
B.T(k*n)
C.T[(k-1)*m]
D.T[k*m]
第6题:
给定一组长度为n的无序序列,将其存储在一维数组a[O..n-1]中。现采用如下方法找出其中的最大元素和最小元素:比较a[O]和a[n-1],若a[0]较大,则将二者的值进行交换;再比较a[1]和a[n-2],若a[1]较大,则交换二者的值;然后依次比较a[2]和a[n-3]、 a[3]和a[n-4]、…,使得每一对元素中的较小者被交换到低下标端。重复上述方法,在数组的前n/2个元素中查找最小元素,在后n/2个元素查找最大元素,从而得到整个序列的最小元素和最大元素。上述方法采用的算法设计策略是(64)。
A.动态规划法
B.贪心法
C.分治法
D.回溯法
第7题:
已知有一维数组T[0...m*n-1],其中m>n。从数组T的第一个元素(T[0])开始,每隔n个元素取出一个元素依次存入数组B[1...m]中,即B[1]=T[0],B[2)= T[n],依次类推,那么放入B[k](1≤k≤m)的元素是______。
A.T[(k-1)*n]
B.T[k*n]
C.T[(k-1)*m]
D.T[k*m]
第8题:
栈的输入序列为1,2,3,…,n-1,n,输出序列的第1个元素为n,则第i个输出元素为
A.n-i+1
B.n-1
C.i
D.哪个元素无所谓
第9题:
第10题:
函数swap(intx,inty)可以完成对x值和y值的交换,在运行调用函数中的如下语句后,a=2;b=3;swap(a,b);a和b的值分别是()
第11题:
设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为()。
第12题:
1,1
1,2
2,2
2,1
第13题:
阅读以下说明和流程图,回答问题将解答填入对应栏。
[说明]
本流程图实现采用递归函数来求一个整数数组中从元素0到元素n中的最小值。该算法思想是这样的,首先我们假设有一个求数组中最小元素的函数,然后,在求某一具有n的元素的数组的最小值时,只要求将前n-1的元素的最小值与第n个元素比较即可。不断地重复这一过程,直到数组中只剩下一个元素,那么它必定是最小值。
注:int min(int X,int y)为返回两数中最小数的函数。
int minInArray(int a[],int n)为返回数组中最小数的函数。
minA为数组中最小值。
[问题l]
将流程图的(1)~(4)处补充完整。
[问题2]
min()函数的定义为(5)。
第14题:
函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[o]=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为( )。
A.1,1
B.1,2
C.2,2
D.2,1
第15题:
设线性表中有2n个元素,算法( ),在单链表上实现要比在顺序表上实现效率更高。
A.删除所有值为x的元素
B.在最后一个匀速的后面插入一个新元素
C.顺序输出前k个元素
D.交换第i个元素和第2n-i-1个元素的值(i=0,1,…,n-1)
第16题:
在窗体上画一个名称为Command1的命令按钮。然后编写如下程序:
Option Base 1
Private Sub Commandl_click()
Dim a(10)As Integer
For i=l T0 10
a(i)=1
Next
call swap(【 】)
For i=1 To 10
Print a(i);
Next
End sub
Sub swap(b()As Integer)
n=UBound(b)
For i=1 To n/2
t=b(i)
b(i)=b(n)
b(n)=t
【 】
Next
End sub
上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……。请填空。
第17题:
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为【 】。
a[0]=1;a[1]=2;swap(a,2);
第18题:
函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为( )。
A.1,1
B.1,2
C.2,2
D.2,l
第19题:
已知有二维数组A[0..n-1][0..n-1],其中当i+j=n时,A[i][j]≠0,现在要将A数组压缩存储到一维数组T[0..m],其中m>n。数组T的第一个元素T[0]=A[1][n-1] T[1]=A[2][n-2],……,依次类推,那么放入A[i][j](i+j=n)的元素是(37)。
A.T[i+j]
B.T[i*n+j]
C.T[i]
D.T[i-1]
第20题:
● 给定一组长度为n的无序序列,将其存储在一维数组a[0..n-1]中。现采用如下方法找出其中的最大元素和最小元素:比较 a[0]和 a[n-1],若 a[0]较大,则将二者的值进行交换;再比较a[1]和a[n-2],若a[1]较大,则交换二者的值;然后依次比较a[2]和a[n-3]、a[3]和 a[n-4]、…,使得每一对元素中的较小者被交换到低下标端。重复上述方法,在数组的前 n/2 个元素中查找最小元素,在后 n/2 个元素查找最大元素,从而得到整个序列的最小元素和最大元素。上述方法采用的算法设计策略是 (64) 。
(64)
A. 动态规划法
B. 贪心法
C. 分治法
D. 回溯法
第21题:
第22题:
数据结构里,在n个元素的顺序表的第i个位置插入元素需要移动()个元素。
第23题:
O(n)
O(nlog2n)
O(1)
O(n2)
第24题:
Θ(n)和Θ(1)
Θ(n)和Θ(n)
Θ(n2)和Θ(1)
Θ(n2)和Θ(n)