![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
[主观题]
设二维数组A[1..m,1..n]含有m×n个整数。 (1)写出算法(Pascal过程或C函数):判断二维数组A中所
设二维数组A[1..m,1..n]含有m×n个整数。 (1)写出算法(Pascal过程或C函数):判断二维数组A中所有元素是否互不相同并输出相关信息(yes/no)。 (2)试分析算法的时间复杂度。
查看答案
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
设二维数组A[1..m,1..n]含有m×n个整数。 (1)写出算法(Pascal过程或C函数):判断二维数组A中所有元素是否互不相同并输出相关信息(yes/no)。 (2)试分析算法的时间复杂度。
设二维数组A[m][n](即m行n列)按行存储在数组B[1..m×n]中,则二维数组元素A[i][j]在一维数组B中的下标为()。
A.(i—1)×n+j
B.(i一1)×n+j-1
C.i×(j一1)
D.j×m+i—l
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为___________(设a[i][j]的位置为0)。
A.i*m+j
B.j*m+i
C.i*mq+j—l
D.i*m+j+1
设A的n个元素都不相同,证明下述算法产生的排列A[1],A[2],…,A[n]服从均匀分布:
Random Permute Array(A) //数组A[1..n]
1.for i←1 to n do
2.产生{i,i+1,…,n}上的均匀随机数k
3.交换A[i]与A[k]
这段程序能起到随机化输入,使其服从均匀分布的作用.比如,在快速排序算法的前面加上这段程序,就得到随机快速排序算法.
编写函数arraycopy(int(*a)[N],int*b,int m)实现把二维数组的M行N列数据复制到一维数组b中。
设有二维数组int M[10][20],每个元素(整数)占2个存储单元,数组的起始地址为2000,元素M[5][10]的存储位置为_____,M[8][19]的存储位置为______。