学习啦 > 知识大全 > 知识百科 > 百科知识 > java中什么是二维数组

java中什么是二维数组

时间: 欧东艳656 分享

java中什么是二维数组

  二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

  LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

  按“列优先顺序”存储时,地址计算为:

  LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

  存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节

  二维数组又称为矩阵,行列数相等的矩阵称变方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素.

  基本运算编辑

  转置矩阵

  //其中A, B是m*n矩阵:

  void tramat(matrix A,matrix B){ int i,j;

  for(i=0; i

  for(j=0;j

  B[j]=A[j];

  }

  矩阵相加

  //其中A,B,C是m*n矩阵:

  void addmat(matrix C, matrix A, matrix B){

  int i, j;

  for(i=0; i

  for(j=0;j

  c[j] = A[j] + B[j];

  }

  矩阵相乘

  //其中A是m*n矩阵,B是n*1矩阵,C为m*1矩阵

  void mutmat(matrix C, matrix A, matrix B){

  int i, j, k;

  for(i=0; i

  for(j=0; j

  C[j]=0;

  for(k=0; k

  C[j] = C[j] + A[k] * B[k][j];

  }

  }

245940