package com.hui.test.arr;
public class TestDemo05 {
private static int 存储二维数组中的实值; private static int 二维数组中实值的个数; private static int[][] 转换成的稀疏数组; public static void main(String[] args) { int 二维数组[][] = new int[11][11]; 二维数组[2][4] = 18; 二维数组[5][6] = 15; 稀疏数组的转换(二维数组); } public static void 稀疏数组的转换(int[][] 初始二维数组) { // 遍历二维数组,并传值 for (int i = 0; i < 初始二维数组.length; i++) { for (int j = 0; j < 初始二维数组[i].length; j++) { if (初始二维数组[i][j] != 0) { 二维数组中实值的个数++; } } } 转换成的稀疏数组 = new int[二维数组中实值的个数 + 1][3]; for (int i = 0; i < 初始二维数组.length; i++) { for (int j = 0; j < 初始二维数组[i].length; j++) { if (初始二维数组[i][j] != 0) { 存储二维数组中的实值++; 转换成的稀疏数组[0][0] = 初始二维数组.length; 转换成的稀疏数组[0][1] = 初始二维数组[i].length; 转换成的稀疏数组[存储二维数组中的实值][0] = i; 转换成的稀疏数组[存储二维数组中的实值][1] = j; 转换成的稀疏数组[存储二维数组中的实值][2] = 初始二维数组[i][j]; } } } 转换成的稀疏数组[0][2] = 二维数组中实值的个数; for (int i = 0; i < 转换成的稀疏数组.length; i++) { for (int j = 0; j < 转换成的稀疏数组[i].length; j++) { System.out.print(转换成的稀疏数组[i][j] + "\t"); } System.out.println(); } }}