public class SparseArray {
public static void main(String[] args) {
//设置棋盘的大小
int[][] str1 = new int[11][11];
//初始化棋盘
for (int i = 0; i < str1.length; i++) {
for (int j = 0; j < str1[i].length; j++) {
str1[i][j] = 0;
}
}
//在棋盘上下棋,1代表黑棋,2代表白棋
str1[1][2] = 1;
str1[2][3] = 2;
str1[3][1] = 1;
//初始化模糊数组的行数
int row = 1;
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (str1[i][j] != 0){
row += 1;
}
}
}
int[][] str2 = new int[row][3];
str2[0][0] = 11;
str2[0][1] = 11;
str2[0][2] = row - 1;
//已赋值的行数
int n = 1;
//为模糊数组赋值
for (int i = 0; i < 11; i++) {
for (int j = 0; j < 11; j++) {
if (str1[i][j] != 0){
str2[n][0] = i;
str2[n][1] = j;
str2[n][2] = str1[i][j];
n++;
}
}
}
System.out.println("-----------遍历标准数组-----------");
for (int i = 0; i < str1.length; i++) {
for (int j = 0; j < str1[i].length; j++) {
System.out.print(str1[i][j] + " ");
}
System.out.println();
}
System.out.println("-----------遍历稀疏数组-----------");
for (int i = 0; i < str2.length; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(str2[i][j] + " ");
}
System.out.println();
}
}
}
代码运行结果: