package com.qinyang.array;
public class ShortArray {
public static void main(String[] args) {
int[][] arr = new int[8][8];
arr[1][3] = 5;
arr[2][4] = 4;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
System.out.println("==========================");
System.out.println("打印稀疏数组");
int value = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if(arr[i][j] != 0){
value++;
}
}
}
int row[] = new int[value+1];
int col[] = new int[value+1];
int sum[] = new int[value+1];
int count = 1;
row[0] = arr.length;
col[0] = arr[0].length;
sum[0] = value;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
if(arr[i][j] != 0){
row[count] = i;
col[count] = j;
sum[count] = arr[i][j];
count++;
}
}
}
for (int i = 0; i < value+1; i++) {
System.out.println(row[i]+" "+col[i]+" "+sum[i]);
}
System.out.println("==========================");
System.out.println("还原稀疏数组");
int[][] newArr = new int[row[0]][col[0]];
for (int i = 1; i < value+1; i++) {
newArr[row[i]][col[i]] = sum[i];
}
for (int i = 0; i < row[0]; i++) {
for (int j = 0; j < col[0]; j++) {
System.out.print(newArr[i][j] + " ");
}
System.out.println();
}
}
}