學(xué)習(xí)啦 > 知識(shí)大全 > 知識(shí)百科 > 百科知識(shí) > java中什么是二維數(shù)組

java中什么是二維數(shù)組

時(shí)間: 歐東艷656 分享

java中什么是二維數(shù)組

  二維數(shù)組A[m][n],這是一個(gè)m行,n列的二維數(shù)組。設(shè)a[p][q]為A的第一個(gè)元素,即二維數(shù)組的行下標(biāo)從p到m+p,列下標(biāo)從q到n+q,按“行優(yōu)先順序”存儲(chǔ)時(shí)則元素a[i][j]的地址計(jì)算為:

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

  按“列優(yōu)先順序”存儲(chǔ)時(shí),地址計(jì)算為:

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

  存放該數(shù)組至少需要的單元數(shù)為(m-p+1) * (n-q+1) * t 個(gè)字節(jié)

  二維數(shù)組又稱為矩陣,行列數(shù)相等的矩陣稱變方陣。對(duì)稱矩陣a[i][j] = a[j][i],對(duì)角矩陣:n階方陣主對(duì)角線外都是零元素.

  基本運(yùn)算編輯

  轉(zhuǎ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