/** * 使用原始数组 */ for (int[] row : chessArr1) { for (int col : row) { System.out.printf("%d\t",col); } System.out.println(); }
/** * 使用稀疏数组 */ int sum = 0; for (int i = 0; i < chessArr1.length; i++) { for (int j = 0; j < chessArr1.length; j++) { if(chessArr1[i][j] != 0){ sum++; } } } // System.out.println("sum=" + sum); //创建对应的稀疏数组 int sparseArr[][] = newint[sum+1][3]; //给稀疏数组赋值 sparseArr[0][0] = 11; sparseArr[0][1] = 11; sparseArr[0][2] = sum;
//遍历二维数组,将非0的值存放到稀疏数组 int total = 0; for (int i = 0; i < chessArr1.length; i++) { for (int j = 0; j < chessArr1.length; j++) { if(chessArr1[i][j] != 0){ total++; sparseArr[total][0] = i; sparseArr[total][1] = j; sparseArr[total][2] = chessArr1[i][j]; } } }
//输出稀疏数组的形式 System.out.println(); System.out.println("得到的稀疏数组如下:"); for (int i = 0; i < sparseArr.length; i++) { System.out.printf("%d\t%d\t%d\t\n",sparseArr[i][0],sparseArr[i][1],sparseArr[i][2]); }