Salut
Tu n'a pas à trimbaler des indices moins triviaux :-). tu écris une méthode de la sorte :
1 2 3 4
|
int get(int i, int j) {
return tabl[i*M + j]
} |
Idem pour le
void set(int i, int j, int value)
Un tableau de 2 dimension n'est pas sauvegardé en java comme un tableau d'une seule dimension.. ce n'est pas comme en C/C++.
En java pour 1 tableau d'int de N élément est allouer N*(4 = taille en octet d'un int) + ( 4 = 1 int pour le length du tableau).
Pour un tableau d'int 2d (matrice) qui est un tableau de tableau, si On a un M*N élément donc ca sera un tableau de M élément ou chaque élément sera lui même un tableau de N élément càd: M*(taille en octet d'un tableau d'int de N élément) + (1 int de length) = M*(N* 4 + 1) + 4 = (M*N*4 + 4) + M octet
a++
Partager